-2
我有三列COL1一樣,COL2,COL3SQL服務器更新查詢
這些值存儲在一個變量@col_name
update investment
set bbg = [email protected]_name
我會把這個聲明在一個循環,這樣一個一個的值(col1)將在那裏變量
但它給錯誤。任何人都可以幫助我做到這一點?
我有三列COL1一樣,COL2,COL3SQL服務器更新查詢
這些值存儲在一個變量@col_name
update investment
set bbg = [email protected]_name
我會把這個聲明在一個循環,這樣一個一個的值(col1)將在那裏變量
但它給錯誤。任何人都可以幫助我做到這一點?
不可能。您不能在變量中包含字段名稱。不受SQL Server支持。你會知道你是否願意閱讀錯誤。它可能會告訴你非常清楚。
您將不得不動態發佈SQL
您需要針對您的要求使用動態sql。我也敦促你申請一個相關的WHERE
條款。
DECLARE @col_name AS VARCHAR(50)
SET @col_name = 'Col1' -- Or 'Col2' Or 'Col3'
DECLARE @SQL AS VARCHAR(1000)
SET @SQL = 'UPDATE investment SET bbg = QUOTENAME(' + @col_name + ')'
EXEC @SQL
你能發表你寫的代碼嗎? – splrs 2014-09-04 08:46:57
什麼樣的錯誤?你能舉一個你想要做什麼的例子嗎? – 2014-09-04 08:47:07
沒有'WHERE'子句的'UPDATE'語句可能非常危險,除非你真的想更新整個表。 – 2014-09-04 08:48:07