У меня есть опыт работы с Oracle PL/SQL, и теперь я изучаю MS SQL. я наткнулся на следующую ситуацию:MS SQL: не запускается триггер «INSTEAD OF INSERT»?
При вставке в таблице значения должны быть вставлены в Columna автоматически должны были быть переписаны для MAX (Columna) + 1
В Oracle я бы легко сделать это с Триггер «Перед вставкой».
В MS Sql кажется, что перед этим следует эмулировать триггер «Вместо вставки».
Мой вопрос: Скажем, я пишу новую инструкцию Insert, содержащую max + 1 для этого столбца A в «Вместо триггера вставки».
Если в какой-то более поздний момент времени столбец добавляется к таблице, моя вставка запроса в триггере не будет иметь эту колонку, если кто не помнит, чтобы обновить спусковой крючок, а ..
Является ли это правильно предположение?
Есть ли лучший способ достичь этого?
EDIT: предположим, что числа в этой колонке могут быть произвольно адаптированы.
почему не столбец идентификации, или [последовательность] (http://msdn.microsoft.com/en-us/library/ff878091 (v = sql.110) .aspx) – tschmit007
@ tschmit007: Я согласен, но допустим, что с этой колонкой происходят другие манипуляции. Последовательность будет «десинхронизирована». Насколько я знаю, столбец идентификатора нельзя изменить. Я хотел бы продолжать использовать триггеры. – Bjorn
Так вы пробовали добавить новый столбец? – Paparazzi