2013-12-23 38 views
1

我有一個SQL,我正在使用一個複雜的情況下同時更新許多行。目前,我正在使用相同的CASE條件設置2列。如何更新SQL中的多個列?

例如,我需要做的是這樣的:

UPDATE MyTable 
SET([MyColumn1], [MyColumn2]) = ('','') 

我現在正在做的是:

UPDATE MyTable 
SET [MyColumn1] = COMPLEX CASE RETURN STRING, 
    [MyColumn2] = 100% SAME COMPLEX CASE RETURN A Different STRING 

我試過,但收到錯誤。這在SQL SERVER中是可行的嗎?

它在IBM Db的支持,http://publib.boulder.ibm.com/infocenter/idshelp/v111/index.jsp?topic=/com.ibm.sqls.doc/sqls919.htm 但似乎是SQL Server不支持

+2

如果您分享返回一個字符串 –

+1

什麼錯誤ü獲取複雜的情況下這將是更好? 嘗試單獨執行這些情況以查看錯誤實際存在的位置 –

+1

需要有關錯誤和複雜情況的其他詳細信息。我希望你知道更新語句的語法。 – Murtaza

回答

1

更新命令語法是:

UPDATE table_name 
SET column1=value1,column2=value2,... 
WHERE some_column=some_value; 
1
update mytable 
    SET [MyColumn1] = COMPLEX CASE RETURN STRING, 
     [MyColumn2] = 100% SAME COMPLEX CASE RETURN A Different STRING 
    WHERE some_column=some_value;// please have the where condition 

那麼只有我們可以更新相應的原始。

更新意味着我們正在改變一些現有的值,所以我們需要提供我們希望這一變化的位置,我們就可以使用WHERE條件.. 例如 更新作者

set name="onv kurup" 
set book="oralude" 
where authorid=112; 

如果我們不給WHERE條件表的所有數據將被用同樣的價值,我們已經給