[SQL ] NOT EXISTS的寫法

作者: rul3nk41   2017-05-31 15:16:25
不好意思,想請問各位大大們一個問題,小弟最近用VC++練習not exists的語法
程式碼如下
_stprintf(strSource, _T("INSERT INTO table1 %s VALUES %s;"), strField,
strValue);
strField是欄位名稱,strValue是要存入的資料,測試後是可以存入的
接下來想要讓已經存入過的資料不要重複入庫
_stprintf(strSource, _T("INSERT INTO table1 %s VALUES %s FROM dual WHERE not
exists(select * from table1 where Caption2 = '%s');"), strField, strValue);
到這邊發生了問題,沒有辦法將資料寫入,小弟猜測是語法問題
但是試了幾個方法都沒有辦法解決,想請問各位大大小弟這樣寫有哪邊錯誤,
應該要如何寫才能做到小弟要的結果呢?
補充:
測試過的方法(都失敗)
//方法一
_stprintf(strSource, _T("INSERT INTO table1 %s SELECT %s FROM DUAL WHERE NOT
EXISTS ( SELECT * FROM table1 WHERE Caption2 = %s );"), strField, strValue,
strMatch);
//方法二
_stprintf(strSource, _T("INSERT INTO table1 %s VALUES %s IF NOT
EXISTS(Caption2 = %s);"), strField, strValue, strMatch);
作者: Kanyahi (狼爵々)   2017-05-31 16:55:00
INSERT INTO table1 %1 SELECT %s WHERE NOT EXIST ()%1 =>%s 打錯 測試過可以執行insert into table1 %s values %s where not exists ()試試insert into values的方式 無法where 所以無法使用exists可能有其他的寫法是我不知道的@@a
作者: smlboby (波比)   2017-06-06 07:07:00
if not exist (...) insert into ...

Links booklink

Contact Us: admin [ a t ] ucptt.com