oracle小結1

來源:互聯網
上載者:User

1 顯示操作時間
   set timing on;

2 nvl(comm,0),如果COMM為空白,則顯示0,否則用COMM顯示
3  當  groupy,having,order by同時存在時,必須是先出現group by,然後
是having,最後是order by
4 select * from (select a1.*,rownum rn from (select * from scott.emp) a1 where rownum<=10) where rn>=6(不支援rownum

的2次使用)
  如果指定查詢列,只需修改最底層的(select * from scott.emp)
 
5 insert into kkk (a,b,c) select a,b,c from emp;(即可適合大批量資料錄入)

6 設定唯讀事務
  set transcation read only;則A設定了唯讀事務的話,則在設定後
的新的DML則無效果

 

7 匯出表
   匯出自己的表
   exp userid=scott/xxx@xxx tables=(a,b) file=c:\xxx.dmp;
匯出其他的方案
   exp userid=system/xx@xxx tables=(scott.a,scott.b) file=c:\xxx.dmp
只匯出表結構,不導資料
   exp userid=system/xx@xxx tables=(scott.a,scott.b) file=c:\xxx.dmp rows=n;
   如果要匯出大表,則加參數direct=y
匯出方案
  exp userid=system/xx@xxx owner=(scott,system) file=c:\xxxx.dmp;
8 資料字典視圖
  包括user_xxx,all_xxx,dba_xxx三類

9 查看使用者的角色
 
select * from dba_role_privs where GRANTEE='SCOTT';

查看某個角色所包含的系統許可權
  select * from dba_sys_privs where grantee='connect'
查看某個角色所包含的對象許可權
  select * from dba_tab_privs where grantee='connect'
查看某個使用者有多少角色
  select * from dba_role_privs where grantee='使用者名稱';

10 分頁的預存程序
 
create or replace package tespackage as
 type test_cursor is ref cursor;
end testpackage;

create or replace procedure fenye
(tableName in varchar2,
Pagesize in number,
pageNow in number,
myrows out number,總記錄數
myPageCount out number 總頁數
p_cursor out tespackage.test_cursor --返回的記錄集
)
 is
v_sql varchar2(10000);
 
v_begin number:=(pageNow-1)*Pagesize+1;
v_end number:= pageNow*Pagesize;
begin
 v_sql:='select * from (select t1.*,rownum rn from (select * from '||tableName
||') t1 where rownum<='||v_end||') where rn>='||v_begin;
open p_cursor for v_sql;
--計算myrows和mypagecount
v_sql:='select count(*) from'||tableName;
execute immediate v_sql into myrows;
if mod(myrows,Pagesize)=0 then
  myPageCount:=myrows/Pagesize;
else
  myPageCount:=myrows/Pagesize+1;
end if;
close p_cursor;
end;

end;

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.