Обновление столбца таблицы при вставке значения в другой столбец - PullRequest
0 голосов
/ 16 мая 2019

У меня есть задание, в котором я полагаю, чтобы таблица обновляла один столбец самостоятельно, когда значение вставляется в другой столбец в той же таблице. Мне не разрешено использовать триггеры.

Получил таблицу test1 со столбцами (col1, col2), и когда в col2 вставлено значение 3, 4 или 5, я хочу изменить значение в col1 на 'G' для той же строки.

Как я могу сделать это без триггеров?

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

Ответы [ 2 ]

0 голосов
/ 16 мая 2019

Вы используете здесь некоторые запутанные термины. Что конкретно означает «значение вставлено в столбец»? Когда мы говорим на SQL, мы не используем слово insert в терминах «хранить данные», а не саму команду.

Итак, скажите нам: вы пытаетесь INSERT новый ряд или UPDATE существующий?

Если вы INSERT ing, то простой ответ, как сказал Шон Ланге, - это CASE утверждение, например:

insert test1(col1,col2)
select case when value_for_col2 in (3,4,5) then 'G' else NULL end,value_for_col2
from some_other_table

Если вы UPDATE, то вы можете сделать то же самое:

update test1
set col2=some_new_value,
col1=case when value_for_col2 in (3,4,5) then 'G' else col2 end

, который сохраняет значение col1 для значений col2, отличных от 3,4,5.

0 голосов
/ 16 мая 2019

Или заявление IIF.вставить в test1 (Col1, Col2) значения (iif (@ Col2 in (3,4,5), 'G', ''), @ Col2)

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