乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      oracle中利用merge語句防止重復(fù)插入

       168一路發(fā) 2011-03-22

      由于項目中需要用到批量插入,為了防止用戶插入重復(fù)的數(shù)據(jù),需要先判斷插入的數(shù)據(jù)是不是已經(jīng)存在,如果存在則忽略這次插入,否則插入這條數(shù)據(jù),剛開始的時候是先用一條SQL語句判斷,如果返回結(jié)果是真(記錄已經(jīng)存在),則忽略,否則插入這條數(shù)據(jù),這樣的話插入一條數(shù)據(jù)就要發(fā)起兩個到數(shù)據(jù)庫的連接,后來發(fā)現(xiàn)這樣做效率實在太低了,Google了一下,發(fā)現(xiàn)oracle數(shù)據(jù)庫支持merge語句,做了個測試,成功了,記錄下來供本人及同行以后查閱之用。

      數(shù)據(jù)庫:TEST

      1 CREATE TABLE TEST( 
      2     ID      NUMBER NOT NULL,
      3     NAME    VARCHAR2(30) NOT NULL,
      4     SEX     VARCHAR2(2) DEFAULT '男' 
      5 )
      插入兩條數(shù)據(jù):

       

      1 INSERT INTO TEST VALUES(1,'SUNZHENXING','男')
      2 INSERT INTO TEST VALUES(2,'SUNHAILONG','女')
      MERGE語句:

       

      1 MERGE INTO TEST A USING TEST B 
      2 ON (A.NAME=B.NAME)
      3 WHEN MATCHED THEN
      4 UPDATE SET A.SEX='女'WHERE A.NAME='SUNZHENXING'
      5 WHEN NOT MATCHED THEN 
      6 INSERT VALUES (3,'SUNZHENXING','女')
      需要注意的是:MERGE語句中的UPDATE語句和INSERT語句和一般的SQL語句格式有點不同,^_^。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多