感謝您的反饋意見,但我希望能獲得關於UPDATE命令的幫助,而不是SELECT。 任何人都可以幫助更新命令的語法?如何在存儲過程中動態指定表格
我正在傳遞一個表名到一個存儲過程中,但SQL似乎沒有認出它。
DECLARE @userTable AS VARCHAR(200);
SET @userTable = @currTable
UPDATE @userTable
SET [lang_String] = @lang_String, [date_Changed] = @submitDate1
WHERE (ID = @ID)
@currTable
被傳遞到存儲過程。所有表名都是通過代碼設計構建的。
一般情況下,sql不能這樣工作,你需要使用動態sql函數(幾乎所有的平臺都有它們)。儘管不知道你的數據庫,但很難告訴你該怎麼做。 – EBarr
這通常是一個SQL反模式。如果你在編寫代碼之前不知道表名和列,那麼你做錯了什麼。不要嘗試寫一個更新來處理所有可能的更新。我不會允許將這種不好的代碼放入我管理的任何數據庫中,因爲它無法正確測試。每當您考慮在動態查詢中添加動作查詢(插入/更新/刪除)時,就會使數據庫處於危險之中。 – HLGEM
傳入的變量是靜態的時候不是。它們被鎖定在國際標準設置的其他表格中。假設它是sql服務器,假設它是 – htm11h