我有一個INSERT INTO的正常工作與參數爲常數:INSERT INTO與MS-訪問子查詢和參數不工作
INSERT INTO FinalValidityCodes
(tblReceivedSamplersID, Substudy, Location, FinalValidityCode, DateTimeProcessed)
SELECT ID, true, 'I', 0, now()
FROM tblReceivedSamplers
WHERE (SampleID = ?)
這將影響1行(預期)
然而,如果我更改查詢以使用參數,它將允許它運行,但不會影響任何行。
INSERT INTO FinalValidityCodes
(tblReceivedSamplersID, Substudy, Location, FinalValidityCode, DateTimeProcessed)
SELECT ID, ?, ?, ?, ?
FROM tblReceivedSamplers
WHERE (SampleID = ?)
什麼是差異,爲什麼當我使用參數時,插入看起來會失敗?
編輯:
SampleID是一個文本數據類型。
也許我錯誤地解釋了語法。我要通過這個例子:http://decoding.wordpress.com/2008/10/11/sql-server-insert-into-with-subquery/。這似乎是在他的查詢INSERT INTO Orders(customer_id,order_date)SELECT id,GETDATE()FROM Customers WHERE username ='john.smith'' GETDATE()不需要是select語句中的列,而是插入'orders.order_date'。 – Brad 2012-02-08 18:20:52
我認爲這個鏈接的作用確實有效,但是想想它爲什麼起作用是非常有意義的。我更喜歡你的方式。數值來自哪裏以及它們在查詢中的作用更清晰。 – Brad 2012-02-08 20:22:14