Портировать триггер с MySql на MSSQL

163
11 марта 2019, 06:50

Не получается перенести рабочий триггер с mysql на ms sql. Вот он:

 SET NEW.license_id=IFNULL((
   SELECT license_id FROM licenses 
 WHERE code=NEW.code),0);

При добавлении значения "code" в таблицу users, в поле license_id этой же таблицы добавляется license_id, который берется с другой таблицы, в которой такой же "code".

На ms sql не получается так написать. Во всех примерах наоборот берут данные с временной таблицы inserted и добавляют значения с нее в другую таблицу. А мне получается нужно сделать наоборот.

Вот так написал, но не работает.

CREATE TRIGGER [dbo].[insert_user]
ON [dbo].[users]
INSTEAD OF INSERT
AS
BEGIN
  INSERT INTO users (license_id) 
  SELECT l.license_id 
  FROM license l
  LEFT JOIN INSERTED i
  ON l.code = i.code
END

Как правильно написать? Я же не могу написать так: INSERTED.license_id = 'значение'

READ ALSO
Не удается добавить foreign key

Не удается добавить foreign key

Пытаюсь добавить FK:

181
Как адаптировать SPA под мобильную версию?

Как адаптировать SPA под мобильную версию?

Имеется одна страницаЕё нужно адаптировать под мобильные устройства

176
Как сделать Google Map внутри MockUp Макбука

Как сделать Google Map внутри MockUp Макбука

Имеется мокап макбука и клиент хочет чтобы карта была непосредственно внутри макбукаНо я понятия не имею как это сделать? Есть какие-то предположения

152