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

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

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

    posts - 5, comments - 0, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    oracle sql 4則

    Posted on 2011-06-27 00:31 火炎炎 閱讀(187) 評論(0)  編輯  收藏
    • 如果存在就更新,不存在就插入用一個語句實現
    MERGE  INTO  t_mg a
    USING (
    SELECT   ' the code '  code,  ' the name '  NAME  FROM
     dual) b
    ON  (a.code  =
     b.code)
    WHEN  MATCHED  THEN

    UPDATE   SET  a.NAME  =  b.NAME
    WHEN   NOT  MATCHED  THEN

    INSERT  (code, NAME)  VALUES  (b.code, b.NAME);
    • 分頁算法

    SELECT   *
    FROM  ( SELECT  a. * , ROWNUM rn
    FROM  ( SELECT   *   FROM  t_employees  ORDER   BY
     first_name) a
    WHERE  ROWNUM  <=   500
    )
    WHERE  rn  >   480  ;

    • 抽取/刪除重復記錄

    1) 部分字段重復數據的刪除

    delete   from  表名 a 
    where  a.rowid  !=
     
    (
    select   max (b.rowid)  from
     表名 b 
    where  a.字段1  =  b.字段1  and
     
    a.字段2 
    =
     b.字段2 
    )

    上面語句的執行效率是很低的,可以考慮建立臨時表,講需要判斷重復的字段、rowid插入臨時表中,然后刪除的時候在進行比較。

    create   table  臨時表  as  
    select  a.字段1,a.字段2, MAX (a.ROWID) dataid  from  正式表 a  GROUP   BY
     a.字段1,a.字段2;
    delete   from
     表名 a 
    where  a.rowid  !=
     
    (
    select  b.dataid  from
     臨時表 b 
    where  a.字段1  =  b.字段1  and
     
    a.字段2 
    =
     b.字段2 
    )

    2) 完全重復記錄的刪除

    用下面語句獲取到去掉重復數據后的記錄:

    select   distinct   *   from  表名

    可以將查詢的記錄放到臨時表中,然后再將原來的表記錄刪除,最后將臨時表的數據導回原來的表中。如下:

    CREATE   TABLE  臨時表  AS  ( select   distinct   *   from  表名);
    drop   table
     正式表;
    insert   into  正式表 ( select   *   from
     臨時表);
    drop   table  臨時表;

    執行上記SQL語句,可以查尋到數據庫中的鎖的情報.

    SELECT   S.SID SESSION_ID, S.USERNAME, DECODE(LMODE,  0 ' None ' 1 ' Null ' 2 ' Row-S (SS) ' 3 ' Row-X (SX) ' ,   4 ' Share ' 5 ' S/Row-X (SSX) ' ,   6 ' Exclusive ' , TO_CHAR(LMODE)) MODE_HELD, DECODE(REQUEST,  0 ' None ' 1 ' Null ' 2 ' Row-S (SS) ' 3 ' Row-X (SX) ' 4 ' Share ' 5 ' S/Row-X (SSX) ' 6 ' Exclusive ' , TO_CHAR(REQUEST)) MODE_REQUESTED, O.OWNER || ' . ' || O. OBJECT_NAME || '  ( ' || O.OBJECT_TYPE || ' ) ' , S.TYPE LOCK_TYPE, L.ID1 LOCK_ID1, L.ID2 LOCK_ID2 
    FROM
     V$LOCK L, SYS.DBA_OBJECTS O, V$SESSION S 
    WHERE  L.SID  =  S.SID  AND   L.ID1  =  O. OBJECT_ID
    SESSION_ID, USERNAME,  MODE_HELD,  MODE_REQUESTED, OBJECT_NAME, LOCK_TYPE, LOCK_ID
    分別是 擁有鎖的SESSION_ID,擁有鎖的USERNAME,鎖的執行模式MODE_HELD,鎖的請求MODE_REQUESTED,鎖所在的數據庫對象名
    ,鎖的類型,鎖的ID

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 在线观看亚洲电影| 中文字幕亚洲精品无码| 72pao国产成视频永久免费| 精品久久久久国产免费| 亚洲精品亚洲人成在线麻豆| 免费A级毛片无码A∨中文字幕下载| 国产精品亚洲mnbav网站 | 亚洲另类无码一区二区三区| www.999精品视频观看免费| 亚洲一区动漫卡通在线播放| 国产成人免费午夜在线观看| 亚洲成年人电影在线观看| 99在线观看免费视频| 亚洲伦理一二三四| 成人无码区免费视频观看| 色偷偷噜噜噜亚洲男人| 国产大片91精品免费看3| 污污免费在线观看| 精品亚洲综合在线第一区| 99久久免费观看| 亚洲日韩中文字幕一区| 成人伊人亚洲人综合网站222| jizz在线免费观看| 亚洲视频欧洲视频| 全免费A级毛片免费看网站 | xxxxx做受大片在线观看免费 | 亚洲mv国产精品mv日本mv| 操美女视频免费网站| 无码 免费 国产在线观看91| 曰韩亚洲av人人夜夜澡人人爽 | 亚洲天堂中文字幕| 一二三四免费观看在线视频中文版 | 亚洲熟妇AV乱码在线观看| 亚洲第一页日韩专区| 精品一区二区三区免费| 亚洲丝袜中文字幕| 亚洲乱码中文字幕手机在线 | 麻豆亚洲AV成人无码久久精品 | 亚洲国产精品无码久久九九 | 日韩中文字幕免费视频| 亚洲精品成a人在线观看夫|