<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    瘋狂

    STANDING ON THE SHOULDERS OF GIANTS
    posts - 481, comments - 486, trackbacks - 0, articles - 1
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    轉(zhuǎn)載一篇文章oracle的一些操作

    Posted on 2011-08-03 10:33 瘋狂 閱讀(919) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): databasejava性能
    轉(zhuǎn)自: http://renjie120.iteye.com/

    注意:數(shù)據(jù)庫(kù)版本是10g,不過(guò)大部分9i的也適用,閃回9i就沒(méi)有.

     

    1.曾經(jīng)不小心把開(kāi)發(fā)庫(kù)的數(shù)據(jù)庫(kù)表全部刪除,當(dāng)時(shí)嚇的要死。結(jié)果找到下面的語(yǔ)句恢復(fù)到了1個(gè)小時(shí)之前的數(shù)據(jù)!很簡(jiǎn)單。

    注意使用管理員登錄系統(tǒng):

    select * from 表名 as of timestamp sysdate-1/12   //查詢(xún)兩個(gè)小時(shí)前的某表數(shù)據(jù)!既然兩小時(shí)以前的數(shù)據(jù)都得到了,繼續(xù)怎么做,知道了吧。。

     

    如果drop了表,怎么辦??見(jiàn)下面:

    drop table 表名;


    數(shù)據(jù)庫(kù)誤刪除表之后恢復(fù):(
    絕對(duì)ok,我就做過(guò)這樣的事情,汗 )不過(guò)要記得刪除了哪些表名。
    flashback table 表名 to before drop;

     

    2.查詢(xún)得到當(dāng)前數(shù)據(jù)庫(kù)中鎖,以及解鎖:

    查鎖
    SELECT /*+ rule */ s.username,
    decode(l.type,'TM','TABLE LOCK',
    'TX','ROW LOCK',
    NULL) LOCK_LEVEL,
    o.owner,o.object_name,o.object_type,
    s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser
    FROM v$session s,v$lock l,dba_objects o
    WHERE l.sid = s.sid
    AND l.id1 = o.object_id(+)
    AND s.username is NOT NULL;

    解鎖
    alter system kill session 'sid,serial';
    如果解不了。直接倒os下kill進(jìn)程kill -9 spid

     

     ORA-28000:賬戶(hù)被鎖定

    因?yàn)槊艽a輸入錯(cuò)誤多次用戶(hù)自動(dòng)被鎖定.

    解決辦法:alter user user_name account unlock;

     

    3.關(guān)于查詢(xún)數(shù)據(jù)庫(kù)用戶(hù),權(quán)限的相關(guān)語(yǔ)句:

    Sql代碼 復(fù)制代碼 收藏代碼
    1. 1.查看所有用戶(hù):   
    2. select * from dba_user;   
    3. select * from all_users;   
    4. select * from user_users;   
    5.   
    6.   
    7. 2.查看用戶(hù)系統(tǒng)權(quán)限:   
    8. select * from dba_sys_privs;   
    9. select * from all_sys_privs;   
    10. select * from user_sys_privs;   
    11.   
    12.   
    13. 3.查看用戶(hù)對(duì)象權(quán)限:   
    14. select * from dba_tab_privs;   
    15. select * from all_tab_privs;   
    16. select * from user_tab_privs;   
    17.   
    18.   
    19. 4.查看所有角色:   
    20. select * from dba_roles;   
    21.   
    22.   
    23. 5.查看用戶(hù)所擁有的角色:   
    24. select * from dba_role_privs;   
    25. select * from user_role_privs;  

     

    4.幾個(gè)經(jīng)常用到的oracle視圖:注意表名使用大寫(xiě)....................

    Sql代碼 復(fù)制代碼 收藏代碼
    1. 1. 查詢(xún)oracle中所有用戶(hù)信息   
    2.        select  * from dba_user;   
    3.    2. 只查詢(xún)用戶(hù)和密碼   
    4.        select username,password from dba_users;   
    5.    3. 查詢(xún)當(dāng)前用戶(hù)信息   
    6.        select * from dba_ustats;   
    7.    4. 查詢(xún)用戶(hù)可以訪(fǎng)問(wèn)的視圖文本   
    8.        select * from dba_varrays;   
    9.    5. 查詢(xún)數(shù)據(jù)庫(kù)中所有視圖的文本   
    10.        select * from dba_views;   
    11. 6.查詢(xún)?nèi)克饕?nbsp;   
    12. select * from user_indexes;   
    13. 查詢(xún)?nèi)勘砀?  
    14.       select * from user_tables;   
    15.          查詢(xún)?nèi)考s束   
    16.       select * from user_constraints;   
    17.           查詢(xún)?nèi)繉?duì)象   
    18.       select * from user_objects;  

     

    5.查看當(dāng)前數(shù)據(jù)庫(kù)中正在執(zhí)行的語(yǔ)句,然后可以繼續(xù)做很多很多事情,例如查詢(xún)執(zhí)行計(jì)劃等等

    Sql代碼 復(fù)制代碼 收藏代碼
    1. (1).查看相關(guān)進(jìn)程在數(shù)據(jù)庫(kù)中的會(huì)話(huà)      
    2.   Select   a.sid,a.serial#,a.program,   a.status   ,      
    3.   substr(a.machine,1,20),   a.terminal,b.spid      
    4.   from   v$session   a,   v$process   b      
    5.   where   a.paddr=b.addr      
    6.   and   b.spid   =   &spid;      
    7.        
    8.   (2).查看數(shù)據(jù)庫(kù)中被鎖住的對(duì)象和相關(guān)會(huì)話(huà)      
    9.   select   a.sid,a.serial#,a.username,a.program,      
    10.   c.owner,   c.object_name        
    11.   from   v$session   a,   v$locked_object   b,   all_objects   c      
    12.   where   a.sid=b.session_id   and      
    13.   c.object_id   =   b.object_id;      
    14.        
    15.   (3).查看相關(guān)會(huì)話(huà)正在執(zhí)行的SQL      
    16.   select   sql_text   from   v$sqlarea   where   address   =        
    17.   (   select   sql_address   from   v$session   where   sid   =   &sid   );     

     

    6.查詢(xún)表的結(jié)構(gòu):表名大寫(xiě)!!

    select t.COLUMN_NAME,
           t.DATA_TYPE,
           nvl(t.DATA_PRECISION, t.DATA_LENGTH),
           nvl(T.DATA_SCALE, 0),
           c.comments
      from all_tab_columns t, user_col_comments c
     whEre t.TABLE_NAME = c.table_name
       and t.COLUMN_NAME = c.column_name
       and t.TABLE_NAME = UPPER('OM_EMPLOYEE_T')
     order by t.COLUMN_ID     

     

    7.行列互換:

    Sql代碼 復(fù)制代碼 收藏代碼
    1. 建立一個(gè)例子表:   
    2. CREATE TABLE t_col_row(    
    3. ID INT,    
    4. c1 VARCHAR2(10),    
    5. c2 VARCHAR2(10),    
    6. c3 VARCHAR2(10));    
    7. INSERT INTO t_col_row VALUES (1, 'v11''v21''v31');    
    8. INSERT INTO t_col_row VALUES (2, 'v12''v22'NULL);    
    9. INSERT INTO t_col_row VALUES (3, 'v13'NULL'v33');    
    10. INSERT INTO t_col_row VALUES (4, NULL'v24''v34');    
    11. INSERT INTO t_col_row VALUES (5, 'v15'NULLNULL);    
    12. INSERT INTO t_col_row VALUES (6, NULLNULL'v35');    
    13. INSERT INTO t_col_row VALUES (7, NULLNULLNULL);    
    14. COMMIT;    
    15.   
    16. 下面的是列轉(zhuǎn)行:創(chuàng)建了一個(gè)視圖   
    17. CREATE view v_row_col AS  
    18. SELECT id, 'c1' cn, c1 cv   
    19. FROM t_col_row   
    20. UNION ALL  
    21. SELECT id, 'c2' cn, c2 cv   
    22. FROM t_col_row   
    23. UNION ALL  
    24. SELECT id, 'c3' cn, c3 cv FROM t_col_row;   
    25.   
    26. 下面是創(chuàng)建了沒(méi)有空值的一個(gè)豎表:   
    27. CREATE view v_row_col_notnull AS  
    28. SELECT id, 'c1' cn, c1 cv   
    29.  FROM t_col_row    
    30. where c1 is not null  
    31. UNION ALL  
    32. SELECT id, 'c2' cn, c2 cv   
    33.  FROM t_col_row   
    34. where c2 is not null  
    35. UNION ALL  
    36. SELECT id, 'c3' cn, c3 cv   
    37.  FROM t_col_row    
    38. where c3 is not null;  

     

    8.下面可能是dba經(jīng)常使用的oracle視圖吧。呵呵

    Sql代碼 復(fù)制代碼 收藏代碼
    1. 1.示例:已知hash_value:3111103299,查詢(xún)sql語(yǔ)句:   
    2. select * from v$sqltext    
    3. where hashvalue='3111103299'  
    4. order by piece    
    5. 2.查看消耗資源最多的SQL:   
    6. SELECT hash_value, executions, buffer_gets, disk_reads, parse_calls   
    7. FROM V$SQLAREA   
    8. WHERE buffer_gets > 10000000OR disk_reads > 1000000   
    9. ORDERBY buffer_gets + 100 * disk_reads DESC;   
    10.   
    11. 3.查看某條SQL語(yǔ)句的資源消耗:   
    12. SELECT hash_value, buffer_gets, disk_reads, executions, parse_calls   
    13. FROM V$SQLAREA   
    14. WHERE hash_Value = 228801498AND address = hextoraw('CBD8E4B0');   
    15.   
    16. 4.查詢(xún)sql語(yǔ)句的動(dòng)態(tài)執(zhí)行計(jì)劃:   
    17.         首先使用下面的語(yǔ)句找到語(yǔ)句的在執(zhí)行計(jì)劃中的address和hash_code   
    18.         SELECT sql_text, address, hash_value FROM v$sql t   
    19.                 where (sql_text like '%FUNCTION_T(表名大寫(xiě)!)%')   
    20.         然后:   
    21.         SELECT operation, options, object_name, cost FROM v$sql_plan   
    22.                 WHERE address = 'C00000016BD6D248' AND hash_value = 664376056;   
    23.   
    24. 5.查詢(xún)oracle的版本:   
    25. select * from v$version;   
    26.   
    27. 6.查詢(xún)數(shù)據(jù)庫(kù)的一些參數(shù):   
    28. select * from v$parameter   
    29.   
    30. 7.查找你的session信息   
    31. SELECT SID, OSUSER, USERNAME, MACHINE, PROCESS   
    32. FROM V$SESSION WHERE audsid = userenv('SESSIONID');   
    33.   
    34. 8.當(dāng)machine已知的情況下查找session   
    35. SELECT SID, OSUSER, USERNAME, MACHINE, TERMINAL   
    36. FROM V$SESSION   
    37. WHERE terminal = 'pts/tl' AND machine = 'rgmdbs1';   
    38.   
    39. 9.查找當(dāng)前被某個(gè)指定session正在運(yùn)行的sql語(yǔ)句。假設(shè)sessionID為100   
    40. select b.sql_text    
    41. from v$session a,v$sqlarea b    
    42. where a.sql_hashvalue=b.hash_value and a.sid=100  

     

    9.樹(shù)形結(jié)構(gòu)connect by 排序:

    Sql代碼 復(fù)制代碼 收藏代碼
    1. 查詢(xún)樹(shù)形的數(shù)據(jù)結(jié)構(gòu),同時(shí)對(duì)一層里面的數(shù)據(jù)進(jìn)行排序   
    2. SELECT last_name, employee_id, manager_id, LEVEL  
    3.       FROM employees   
    4.       START WITH employee_id = 100   
    5.       CONNECT BY PRIOR employee_id = manager_id   
    6.      <SPAN style="BACKGROUND-COLOR: #ff0000"ORDER SIBLINGS BY last_name;</SPAN>   
    7.   
    8.   
    9.   
    10.   
    11.   
    12.   
    13. 下面是查詢(xún)結(jié)果   
    14. LAST_NAME                 EMPLOYEE_ID MANAGER_ID      LEVEL  
    15. ------------------------- ----------- ---------- ----------   
    16. King                              100                     1   
    17. Cambrault                         148        100          2   
    18. Bates                             172        148          3   
    19. Bloom                             169        148          3   
    20. Fox                               170        148          3   
    21. Kumar                             173        148          3   
    22. Ozer                              168        148          3   
    23. Smith                             171        148          3   
    24. De Haan                           102        100          2   
    25. Hunold                            103        102          3   
    26. Austin                            105        103          4   
    27. Ernst                             104        103          4   
    28. Lorentz                           107        103          4   
    29. Pataballa                         106        103          4   
    30. Errazuriz                         147        100          2   
    31. Ande                              166        147          3   
    32. Banda                             167        147          3   
    33.    

     

    10.有時(shí)候?qū)懚嗔藮|西,居然還忘記最基本的sql語(yǔ)法,下面全部寫(xiě)出來(lái),基本的oracle語(yǔ)句都在這里可以找到了。是很基礎(chǔ)的語(yǔ)句!

    Sql代碼 復(fù)制代碼 收藏代碼
    1. 1.在數(shù)據(jù)字典查詢(xún)約束的相關(guān)信息:   
    2. SELECT constraint_name, constraint_type,search_condition   
    3. FROM        user_constraints WHERE        table_name = 'EMPLOYEES';   
    4.         //這里的表名都是大寫(xiě)!   
    5. 2對(duì)表結(jié)構(gòu)進(jìn)行說(shuō)明:   
    6.    desc Tablename   
    7. 3查看用戶(hù)下面有哪些表   
    8.    select table_name from user_tables;   
    9. 4查看約束在那個(gè)列上建立:   
    10.    SELECT constraint_name, column_name   
    11.    FROM        user_cons_columns   
    12.    WHERE          table_name = 'EMPLOYEES';   
    13. 10結(jié)合變量查找相關(guān)某個(gè)表中約束的相關(guān)列名:   
    14.   select constraint_name,column_name from user_cons_columns where table_name = '&tablename'  
    15. 12查詢(xún)數(shù)據(jù)字典看中間的元素:   
    16. SELECT   object_name, object_type   
    17. FROM     user_objects   
    18. WHERE    object_name LIKE 'EMP%'        
    19. OR       object_name LIKE 'DEPT%'  
    20. 14查詢(xún)對(duì)象類(lèi)型:   
    21. SELECT DISTINCT object_type FROM           user_objects ;   
    22. 17改變對(duì)象名:(表名,視圖,序列)   
    23.   rename  emp to emp_newTable   
    24. 18添加表的注釋?zhuān)?  
    25.   COMMENT ON TABLE employees IS 'Employee Information';   
    26. 20查看視圖結(jié)構(gòu):   
    27.    describe view_name   
    28. 23在數(shù)據(jù)字典中查看視圖信息:   
    29.   select viewe_name,text from user_views   
    30. 25查看數(shù)據(jù)字典中的序列:   
    31.   select * from user_sequences   
    32. 33得到所有的時(shí)區(qū)名字信息:   
    33.         select  * from v$timezone_names   
    34. 34顯示對(duì)時(shí)區(qū)‘US/Eastern’的時(shí)區(qū)偏移量   
    35.         select TZ_OFFSET('US/Eastern'from DUAL--dual英文意思是‘雙重的’   
    36.    顯示當(dāng)前會(huì)話(huà)時(shí)區(qū)中的當(dāng)前日期和時(shí)間:   
    37.    ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-YYYY HH24:MI:SS';--修改顯示時(shí)間的方式的設(shè)置   
    38.    ALTER SESSION SET TIME_ZONE = '-5:0';--修改時(shí)區(qū)   
    39.    SELECT SESSIONTIMEZONE, CURRENT_DATE FROM DUAL;--真正有用的語(yǔ)句!   
    40.   SELECT CURRENT_TIMESTAMP FROM DUAL;--返回的時(shí)間是當(dāng)前日期和時(shí)間,含有時(shí)區(qū)   
    41.   SELECT CURRENT_TIMESTAMP FROM DUAL;--返回的時(shí)間是當(dāng)前日期和時(shí)間,不含有時(shí)區(qū)!!!     
    42. 35顯示數(shù)據(jù)庫(kù)時(shí)區(qū)和會(huì)話(huà)時(shí)區(qū)的值:   
    43.         select datimezone,sessiontimezone from dual;   
    44.   
    45. 13普通的建表語(yǔ)句:   
    46. CREATE TABLE dept   
    47. (deptno         NUMBER(2),   
    48. dname         VARCHAR2(14),   
    49. loc         VARCHAR2(13));   
    50. 15使用子查詢(xún)建立表:   
    51.  CREATE TABLE         dept80   
    52.   AS  SELECT  employee_id, last_name,    
    53.             salary*12 ANNSAL,    
    54.             hire_date   FROM    employees   WHERE   department_id = 80;   
    55. 6添加列:// alter table EMP add column (dept_id number(7));錯(cuò)誤!!   
    56.   alter table EMP add (dept_id number(7));   
    57. 7刪除一列:   
    58.   alter table emp drop column dept_id;   
    59. 8添加列名同時(shí)和約束:   
    60.  alter table EMP add (dept_id number(7)    
    61.    constraint my_emp_dept_id_fk  references dept(ID));   
    62. 9改變列://注意約束不能夠修改 的!!   
    63.  alter table dept80 modify(last_name varchar2(30));//這里使用的是modify而不是alter!   
    64. 24增加一行:   
    65.   insert into table_name values();   
    66.   
    67. 5添加主鍵:   
    68.  alter Table EMP  add constraint my_emp_id_pk primary key (ID);   
    69. 11添加一個(gè)有check約束的新列:   
    70.   alter table EMP   
    71.   add (COMMISSION number(2) constraint emp_commission_ck check(commission>0))   
    72. 16刪除表:   
    73.    drop table emp;   
    74. 19創(chuàng)建視圖:   
    75.    CREATE VIEW         empvu80   
    76.  AS SELECT  employee_id, last_name, salary   
    77.     FROM    employees     WHERE   department_id = 80;   
    78. 21刪除視圖:   
    79.    drop view view_name   
    80. 22找到工資最高的5個(gè)人。(top-n分析)(行內(nèi)視圖)   
    81.  select rownum,employee_id from (select employee_id,salary from  
    82.  employees order by salary desc)   
    83.   where rownum<5;   
    84. 26建立同義詞:   
    85.   create synonym 同義詞名 for 原來(lái)的名字   
    86. 或者  create public synonym 同義詞名 for 原來(lái)的名字   
    87. 27建立序列:(注意,這里并沒(méi)有出現(xiàn)說(shuō)是哪個(gè)表里面的序列!!)   
    88.   CREATE SEQUENCE dept_deptid_seq   
    89.                 INCREMENT BY 10   
    90.                 START WITH 120   
    91.                 MAXVALUE 9999   
    92.                 NOCACHE   
    93.                 NOCYCLE     
    94. 28使用序列:   
    95.         insert into dept(ID,NAMEvalues(DEPT_ID_SEQ.nextval,'Administration');   
    96. 29建立索引://默認(rèn)就是nonunique索引,除非使用了關(guān)鍵字:unique  
    97.         CREATE INDEX emp_last_name_idx ON employees(last_name);   
    98. 30建立用戶(hù):(可能有錯(cuò),詳細(xì)查看幫助)   
    99.         create user  username(用戶(hù)名)   
    100.         identified by oracle(密碼)   
    101.         default tablespace  data01(表空間名//默認(rèn)存在system表空間里面)   
    102.         quota 10M(設(shè)置大小,最大為unlimited)  on 表空間名//必須分配配額!   
    103. 31創(chuàng)建角色:create ROLE manager   
    104.     賦予角色權(quán)限:grant create table,create view to manage   
    105.     賦予用戶(hù)角色:grant manager to DENHAAN,KOCHHAR( 兩個(gè)用戶(hù))   
    106. 32分配權(quán)限:   
    107.         GRANT  update (department_name, location_id)   
    108.         ON     departments   
    109.         TO     scott, manager;   
    110.     回收權(quán)限   
    111.         REVOKE  selectinsert  
    112.         ON      departments   
    113.         FROM    scott;   
    114. 36從時(shí)間中提取年,月,日:使用函數(shù)extract   
    115.         select extract(year from sysdate) year,extract(month from sysdate),   
    116. extract(day from sysdate) from dual;   
    117. 37使用函數(shù)得到數(shù)月之后的日期:to_yminterval(‘01-02’)表示加上1年2月,不能夠到天!!   
    118.         select hire_date,hire_date +to_yminterval('01-02'as hire_date_new from employees where department_id=20   
    119.     得到多少天之后的日期:直接日期加數(shù)字!   
    120.         select hire_date +3 from employees where department_id=20   
    121. 38一般的時(shí)間函數(shù):   
    122.         MONTHS_BETWEEN ('01-SEP-95','11-JAN-94')--兩個(gè)日期之間的月數(shù),返回一個(gè)浮點(diǎn)數(shù)   
    123.         ADD_MONTHS ('11-JAN-94',6)--添加月數(shù)   
    124.           NEXT_DAY ('01-SEP-95','FRIDAY'--下一個(gè)星期五的日期   
    125.         LAST_DAY('01-FEB-95')--當(dāng)月的最后一天!   
    126.         ROUND(SYSDATE,'MONTH')         --四舍五入月   
    127.         ROUND(SYSDATE ,'YEAR')       --四舍五入年   
    128.         TRUNC(SYSDATE ,'MONTH')        --階段月   
    129.          TRUNC(SYSDATE ,'YEAR')        --截?cái)嗄?nbsp;    
    130. 39 group語(yǔ)句:和高級(jí)的應(yīng)用語(yǔ)句:   
    131.         SELECT   department_id, job_id, SUM(salary),  COUNT(employee_id) FROM     employees   
    132.                 GROUP BY department_id, job_id ;   
    133.         使用having進(jìn)行約束:   
    134.         1.group by rollup:對(duì)n列組合得到n+1種情況   
    135.         SELECT   department_id, job_id, SUM(salary)        FROM     employees  WHERE    department_id < 60 GROUP BY ROLLUP(department_id, job_id);   
    136.         2.group by cube:得到2的n次方種情況   
    137.         SELECT   department_id, job_id, SUM(salary) FROM     employees  WHERE    department_id < 60 GROUP BY CUBE (department_id, job_id) ;   
    138.         3.使用grouping得到一行中構(gòu)成列的情況,只是返回1和0:是空的話(huà)就返回1,否則返回0(注意不要弄反了!)   
    139.         SELECT   department_id DEPTID, job_id JOB,  SUM(salary),    GROUPING(department_id) GRP_DEPT,    GROUPING(job_id) GRP_JOB   
    140.                 FROM     employees WHERE    department_id < 50 GROUP BY ROLLUP(department_id, job_id);   
    141.         4.grouping sets:根據(jù)需要得到制定的組合情況   
    142.         SELECT   department_id, job_id, manager_id,avg(salary) FROM     employees GROUP BY GROUPING SETS ((department_id,job_id), (job_id,manager_id));   
    143. 40from中使用子查詢(xún):返回每個(gè)部門(mén)中大于改部門(mén)平均工資的與員工信息   
    144.         SELECT  a.last_name, a.salary, a.department_id, b.salavg  FROM    employees a,--下面的地方就是子查詢(xún)了,主要返回的是一組數(shù)據(jù)!   
    145.          (SELECT   department_id, AVG(salary) salavg   FROM     employees  GROUP BY department_id) b   
    146.         WHERE   a.department_id = b.department_id   
    147.         AND     a.salary > b.salavg;   
    148. 41exists語(yǔ)句的使用:   
    149.         SELECT employee_id, last_name, job_id, department_id   
    150.         FROM   employees outer--下面的 exists里面的select選擇出來(lái)的是隨便的一個(gè)字符或者數(shù)字都可以   
    151.         WHERE  EXISTS ( SELECT 'X'   FROM   employees WHERE  manager_id =  outer.employee_id);   
    152. 42厲害的with語(yǔ)句:   
    153.         WITH    
    154.          dept_costs  AS (--定義了一個(gè)臨時(shí)的表   
    155.                    SELECT  d.department_name, SUM(e.salary) AS dept_total--其間定義了一個(gè)臨時(shí)的列dept_total   
    156.                    FROM    employees e, departments d   
    157.                    WHERE   e.department_id = d.department_id   
    158.                    GROUP BY d.department_name),/*注意這里有逗號(hào)*/   
    159.         avg_cost    AS (   
    160.            SELECT SUM(dept_total)/COUNT(*) AS dept_avg   
    161.            FROM   dept_costs)--這里的第二張臨時(shí)表里面就引用了前面定義的臨時(shí)表和之間的列!   
    162.         SELECT *  FROM   dept_costs  WHERE  dept_total >  (SELECT dept_avg   FROM avg_cost) ORDER BY department_name;---最后的查詢(xún)語(yǔ)句中使用了前面的臨時(shí)表   
    163. 43遍歷樹(shù):   
    164.         SELECT employee_id, last_name, job_id, manager_id   
    165.         FROM   employees   
    166.         START  WITH  employee_id = 101   
    167.         CONNECT BY PRIOR manager_id = employee_id ;--自底向上的遍歷樹(shù)。   
    168.   
    169. 44.更新語(yǔ)句   
    170. UPDATE employees SET    
    171.     job_id = 'SA_MAN', salary = salary + 1000, department_id = 120    
    172.     WHERE first_name||' '||last_name = 'Douglas Grant';    
    173.   
    174. UPDATE TABLE (SELECT projs    
    175.            FROM dept d WHERE d.dno = 123)  p    
    176.   SET p.budgets = p.budgets + 1    
    177.   WHERE p.pno IN (123, 456);  

     

    11.導(dǎo)入導(dǎo)出dmp文件:

    imp 用戶(hù)名/密碼@數(shù)據(jù)庫(kù) ignore=y file=備份文件 log=D:\DBtest\db_bak\imp.log

     

    exp system/manager@TEST file=d:\daochu.dmp full=y

     

     12.大對(duì)象字段blob:查看blob字段的大小:

       select  dbms_lob.getLength (字段名)  from 表名 ; 

     

    13.下面收集的是有意思的sql語(yǔ)句,說(shuō)不定正是你需要的:

     

    Java代碼 復(fù)制代碼 收藏代碼
    1. --創(chuàng)建一個(gè)只允許在工作時(shí)間訪(fǎng)問(wèn)的視圖   
    2. create or replace view newviewemp   
    3. as   
    4. select * from 表名   
    5.  where exists(select 1 from dual where sysdate >=   
    6.        to_date(to_char(sysdate, 'yyyy-mm-dd ') || '08:00:00''yyyy-mm-dd hh24:mi:ss')   
    7.    and sysdate <   
    8.        to_date(to_char(sysdate, 'yyyy-mm-dd ') || '18:00:00''yyyy-mm-dd hh24:mi:ss'))   
    9.    

     

    14.存儲(chǔ)過(guò)程中執(zhí)行ddl語(yǔ)句:

    Create Or Replace Procedure My_Proc As
    Sqlddl Varchar2(1000);
    Begin
    Sqlddl := 'create table MyTable(ID Number(5), Name Varchar2(20))';
    Dbms_Output.Put_Line(Sqlddl);
    Execute Immediate Sqlddl;
    End;

    主站蜘蛛池模板: 羞羞网站在线免费观看| 亚洲精华国产精华精华液| 亚洲国产成人九九综合| 久久精品国产亚洲AV忘忧草18| 亚洲午夜无码毛片av久久京东热| 亚洲AV永久无码天堂影院| 一级特黄a大片免费| 久久狠狠躁免费观看2020| 无码国产精品一区二区免费式直播 | 午夜免费福利在线观看| 又黄又爽一线毛片免费观看 | 亚洲视频中文字幕在线| 亚洲一本到无码av中文字幕| 国产成人亚洲精品91专区高清 | 国产一区二区视频免费| 亚洲日韩欧洲无码av夜夜摸| 亚洲自偷自拍另类图片二区| 亚洲AV无码一区二区三区牲色| 中国一级特黄高清免费的大片中国一级黄色片| 十八禁无码免费网站| 大学生美女毛片免费视频| 在线播放亚洲第一字幕| 亚洲va在线va天堂成人| 亚洲黄片手机免费观看| 无码人妻精品中文字幕免费东京热| 免费一级国产生活片| 91在线亚洲精品专区| 真正全免费视频a毛片| 久久久久久夜精品精品免费啦| 国产精品四虎在线观看免费| 亚洲VA中文字幕无码毛片| 亚洲日韩精品无码专区加勒比 | 国产精品免费看久久久久| 亚洲AV综合色区无码一区爱AV| 亚洲看片无码在线视频| 插鸡网站在线播放免费观看| 国产精品成人免费一区二区| 亚洲精品国产精品乱码在线观看 | 亚洲精品蜜夜内射| 无码国产精品一区二区免费3p | 国产午夜亚洲精品午夜鲁丝片|