2013-12-23 4 views
1

У меня есть SQL, который я использую для обновления многих строк одновременно с использованием сложного условия. В настоящее время я устанавливаю 2 столбца, используя одно и то же условие CASE.Как обновить более одного столбца в 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 Дб, http://publib.boulder.ibm.com/infocenter/idshelp/v111/index.jsp?topic=/com.ibm.sqls.doc/sqls919.htm Но, кажется, нет никакой поддержки в SQL Server

+2

Было бы лучше, если вы разделяете сложный случай, который возвращается строка –

+1

то, что ошибка у получаю? попробуйте выполнить отдельные случаи, чтобы увидеть, где на самом деле лежит ошибка. –

+1

нужна дополнительная информация об ошибке и сложном случае. Надеюсь, вы знаете синтаксис оператора update. – 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 

только тогда мы сможем обновить соответствующее сырье ,

обновление означает, что мы изменяем некоторые существующие ценности, поэтому мы должны предоставить место, где мы хотим это изменить, для этого мы можем использовать, где состояние .. примера обновления автор

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

если мы не давая где условия все данные таблицы будут обновляться с тем же значением в запросе обновления мы дали

Смежные вопросы