不好意思,想請問各位大大們一個問題,小弟最近用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);