MySQLsql
至4.1版之後開始支持INSERT … ON DUPLICATE KEY UPDATE
INSERT INTO 表名 (字段1,字段2,……) VALUES (值1,值2,……) ON DUPLICATE KEY UPDATE 字段n=值n;
要使用這條語句,前提條件是這個表必須有一個惟一索引或主鍵
多行時,會自動更新存在相同鍵值的行,插入鍵值不存在的行
Oracleexpress
Oracle9i新增的語法,用來合併UPDATE和INSERT語句。經過MERGE語句,根據一張表或子查詢的鏈接條件對另一張表進行查詢,鏈接條件匹配上的進行UPDATE,沒法匹配的執行INSERT。這個語法僅須要一次全表掃描就完成了所有工做,執行效率要高於INSERT+UPDATE。
MERGE INTO [your table-name] [rename your table here]索引
USING ( [write your query here] )[rename your query-sql and using just like a table]it
ON ([conditional expression here] AND [...]...)io
WHEN MATCHED THEN [here you can execute some update sql or something else ]table
WHEN NOT MATCHED THEN [execute something else here ! ]效率