1. 程式人生 > >sqlserver 有則update 無則 insert

sqlserver 有則update 無則 insert

示例語句

if not exists (select id,abc,def from A_TEST where id = 'A' and abc = 'B')

INSERT INTO A_TEST (id,abc,def,ddd) VALUES('A','B','C','D')  

else update A_TEST set id = 'A',abc='B' ,def='def',ddd='ddd' where id = 'A' and abc = 'B'
 

 註解:    if not exists  判斷  後面括號中的語句是否可以查詢到資料, 如果能查詢到則執行else後面的 update語句  

如果   查詢不到  則會執行 insert  語句    ,注意,   前面括號中的查詢語句條件  和  後面的 update語句的條件要一致, update語句 中  set的資料要和where 後面的條件一致, 否則 執行兩次會插入一條重複資料.