2016-09-22 3 views
1

У меня есть база данных SQL Server 2014 с именем Database.Main, которая имеет столбцы Type и Code.Обновление записей строки с использованием Transact-SQL

мне нужно изменить существующий Transact-SQL скрипт, чтобы выбрать все строки, которые имеют Type равный к MyObject.Main и изменить Code к целочисленным 1000.

Как я могу это сделать в Transact-SQL?

BEGIN TRY 
    BEGIN TRAN Update_Table; 

    COMMIT; 
END TRY 
BEGIN CATCH 
    print 'Error encountered updating entries' 
    print ERROR_MESSAGE() 
    rollback; 
END CATCH 

Ответ

На основании ответа от Raul ниже решения заключается в следующем:

BEGIN TRY 
    BEGIN TRAN Update_Table; 
     UPDATE Database.Main 
     SET Code = 1000 
     WHERE Type = 'MyObject.Main'; 
    COMMIT; 
END TRY 
BEGIN CATCH 
    print 'Error encountered updating entries' 
    print ERROR_MESSAGE() 
    rollback; 
END CATCH 
+0

Как вы это сделаете в SQL? Где ваша заявка на обновление? – JRLambert

+0

Где находится существующий оператор SQL? Нам может понадобиться это, чтобы проверить, в чем проблема с вашим существующим скриптом. –

+0

Вам не нужна транзакция для одного заявления. Один оператор - транзакция. – Paparazzi

ответ

5

Простая UPDATE команда будет делать?

update table_name 
set Code = 1000 
where Type = 'MyObject.Main'; 
+0

может добавить и код <> 1000 – Paparazzi

+0

@Paparazzi, за OP только условие находится на колонке 'Type', а в обновленном сообщении OP это хорошо, но все же действительная точка и спасибо за указание на это. – Rahul

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