Есть ли способ обхода ошибки # 1442 в триггере INSERT? - PullRequest
0 голосов
/ 16 мая 2019

Проблема: Когда строка вставлена, я должен использовать триггер для (условно) вставки другой строки в ту же таблицу. Я должен поместить «NEW.rowID» в другое поле «другой» строки (rowID является первичным ключом).

Использование той же таблицы, что и та, которая вызвала триггер, невозможно в триггере, и это является причиной получения ошибки # 1442. Это понятно.

Этот принятый ответ предлагает обходной путь, но, похоже, это больше не будет триггером, верно? Вместо этого я бы вызвал (с программным кодом) хранимую процедуру со всеми значениями полей, и она будет выполнять INSERT из этого. И если я помещаю вызов SP в триггер, чтобы мы могли вставить его с помощью оператора INSERT, я снова получаю ошибку # 1422. Правильно?

Если я правильно понял вышесказанное, существует ли альтернативное решение, позволяющее держать его в качестве триггера ? (Босс хотел бы, чтобы триггер экономил на изменениях программного кода.)

Что я пробовал: Замена кода триггера на ВСТАВКУ с жестко заданными значениями, поиск ответов, чтение документации по транзакциям.

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