[SQL ] NOT EXISTS的寫法
不好意思,想請問各位大大們一個問題,小弟最近用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);
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.36.3.151
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1496214987.A.6E7.html
→
05/31 16:55, , 1F
05/31 16:55, 1F
→
05/31 16:58, , 2F
05/31 16:58, 2F
感謝大大!! 小弟去測試看看
大大,小弟這樣子執行過了
想請問一下,如果不要用SELECT,用INSERT INTO %s VALUE %s的語法
可以使用NOT EXISTS嗎?
如果可以需要怎麼做呢?
※ 編輯: rul3nk41 (114.36.3.151), 05/31/2017 18:55:03
→
05/31 20:46, , 3F
05/31 20:46, 3F
→
05/31 20:46, , 4F
05/31 20:46, 4F
→
06/01 11:14, , 5F
06/01 11:14, 5F
→
06/01 11:18, , 6F
06/01 11:18, 6F
→
06/06 07:07, , 7F
06/06 07:07, 7F
好像還是有地方出問題,公司的前輩已經用不同方式處理掉了!
我會再去研究一下,謝謝各位大大的回答
如果有成功再回來報告!
※ 編輯: rul3nk41 (1.160.6.16), 06/09/2017 17:29:41
Database 近期熱門文章
PTT數位生活區 即時熱門文章