0
我有一個過程,它從另一個表中的列中的where語句。我想添加一個特定的條件,僅用於語句的第一次執行,而不添加任何額外的行/表/列。所以我想設置聲明我可以自己更新在哪裏語句
tblBill.sdApprovedDate > dateadd(month,-3,getdate()) and
(update tblInvoiceConfig
set vcWhereSQL = 'tblBill.chBillStatus = ''A'' '
where intID = 7)
但我得到一個錯誤說更新不是一個布爾表達式。
我有2個問題
一個)我可以以某種方式進行此更新的布爾表達式
b)項這樣的查詢正確執行(如在,第一時間的條件將是日期爲不小於3個月,之後每執行將只檢查chBillStatus)
編輯: 正如有人問,在使用這個值的過程的一部分
SET @nvcSQLQuery = '
SELECT DISTINCT top 3
tblBill.intBillID,
(... a lot of other stuff ..)
FROM
(...)
WHERE
' + SELECT vcWhereSQL from tblInvoiceConfig where intID = 7 + '
(...)'
print @nvcSQLQuery
INSERT INTO @result
EXECUTE sp_executeSQL @nvcSQLQuery,
@nvcSQLParams,
@pvcArchiveType = @pvcArchiveType
這是select語句 – Amit
我從來沒有見過任何人想要做的事像那樣,而且,我認爲這個錯誤真的在告訴你,你不能這麼做。 WHERE子句只需要布爾表達式,因爲它正在評估要返回的數據。你究竟想在這裏做什麼? – Leonidas199x
此句法不起作用 – Amit