SQL Если условие истинно Обновить таблицу - PullRequest
0 голосов
/ 28 января 2019

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

if (select * from table
    where field1 = '0000000001' and field2 = 'XXX')
update table set field1 = '9876543210'
where field2 = 'XXX';

Я получаю следующую ошибку:

Выражение не-булева типа, указанное в контексте, где ожидается условие, вблизи«обновление»

Ответы [ 2 ]

0 голосов
/ 29 января 2019

Здесь вы можете подтвердить свой запрос.Вы пропустили ключ EXISTS для проверки.Так что только он возвращает ошибку.

if (EXISTS(select 1 from table where field1 = '0000000001' and field2 = 'XXX'))

update table set field1 = '9876543210' where field2 = 'XXX'
0 голосов
/ 28 января 2019

Сделайте это:

update table set field1 = '9876543210'
 where field1 = '0000000001' and field2 = 'XXX';

Таким образом, вы обновите значение field1 во всех строках, где field1 == '0000000001' and field2 = 'XXX', до значения '9876543210'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...