Прежде всего, я говорю, что использование select *
с оператором insert-select
действительно, действительно плохая идея.Причина в том, что вы никогда не можете предсказать порядок столбцов, которые возвращаются из выбора.
Во-вторых, предполагая SQL Server, я бы предложил использовать следующее:
create trigger add_to_message
instead of insert on mbb_pushNotificationQueue
for each row
as
begin transaction
insert into mbb_oushNotificationQueue (col1, col2, col3)
select col1, col2, col3
from inserted
insert into mbb_messages (col1, col2, col3)
select col1, col2, col3
from inserted
if @@ERROR_LEVEL = 0
commit
else
rollback
Отказ от ответственности:
Этот код не был проверен и может потребовать некоторых незначительных исправлений, но хорошо иллюстрирует идею.