Я хотел бы знать, возможно ли это.Я хотел бы обновить запись, только если typeId равен моему значению, и добавить запись в таблицу B, если это так.
TableA:
id (PK, int)
typeId (int)
TableB:
id (PK, int)
tableAId (FK, int)
note (nvarchar)
Мой SQL-скрипт:
UPDATE [dbo].[TableA]
SET [TypeId] = CASE
WHEN [TypeId] = 4 THEN 6 AND
(INSERT INTO [dbo].[TableB] ([tableAId],[note])
VALUES ([dbo].[TableA].Id,'type has changed'))
ELSE [Id]
END
Вышеприведенный скрипт выглядит так, как будто я хочу достичь, но, очевидно, он неверен.Как я могу сделать несколько вещей в моем случае?Обновить значение и вставить запись с текущим идентификатором?
Образец данных:
Table A (id, typeId)
1, 4
2, 5
3, 2
Table B (id, tableAid, note)
1, 1, 'note1'
2, 1, 'note2'
3, 2, 'note1'
Должно стать:
Table A (id, typeId)
1, 6
2, 5
3, 2
Table B (id, tableAid, note)
1, 1, 'note1'
2, 1, 'note2'
3, 2, 'note1'
4, 1, 'type has changed'