запрос на обновление данных в таблице в SQL
У меня есть таблица поиска, которая имеет следующие данные:
AlcoholStatus Id Name 0 None 1 Not Drunk 2 Drunk Less 3 Drunk Medium 4 Heavy Drinker
Другая таблица ссылается на эти данные таблицы (ID) и поэтому действует как внешний ключ в другой таблице.
Теперь я хочу обновить эту таблицу до следующего, просто обновив данные и удалив две строки. Это дает мне ограничение внешнего ключа. Я сделал то, что хочу, но есть ли простой способ добиться этого? Я также хочу обновить другую таблицу до соответствующих значений следующим образом:
AlcoholStatus
Id Name 0 None 1 Yes 2 No
Здесь Да означает 3,4 в исходных данных и Нет средств 1,2.
Пожалуйста, помогите мне, как удалить две строки и обновить данные, как указано выше, а также обновить другую таблицу до 1 (For 3,4) and 2 for (1,2)
.
Для SQL Server :
Сначала таблица обновлений с внешним ключом (я называю это « Alcoholics
):
UPDATE Alcoholics SET StatusId = CASE WHEN StatusId IN (1,2) THEN 2 WHEN StatusID IN (3,4) THEN 1 ELSE 0 END
Затем обновите таблицу AlcoholStatus
UPDATE AlcoholStatus SET Name = CASE WHEN id = 1 THEN 'Yes' WHEN id = 2 THEN 'No' ELSE Name END WHERE Id IN (1,2)
Затем удалите статусы с id in (3,4)
DELETE FROM AlcoholStatus WHERE id in (3,4)