Как я могу запустить триггер ПЕРЕД удалением в T-SQL 2005?

Вам необходимо определить переменную вашего экземпляра (@last_refreshed_time) на вашем контроллере, вот пример

class HomeController < ApplicationController
  def index
    @last_refreshed_time = Time.now
  end
end
18
задан deostroll 24 February 2011 в 01:15
поделиться

3 ответа

Можно использовать опцию INSTEAD OF, просто явно удалить строки в конце. Например:

CREATE TRIGGER dbo.My_Table_Delete_Instead_Of_Trigger
ON dbo.My_Table
INSTEAD OF DELETE
AS
BEGIN

     -- Do some stuff here

     DELETE T
     FROM DELETED D
     INNER JOIN dbo.My_Table T ON T.PK_1 = D.PK_1 AND T.PK_2 = D.PK_2
END

Это приняло первичный ключ, составленный из столбцов PK_1 и PK_2.

28
ответ дан 30 November 2019 в 07:44
поделиться

Вы не можете. Но можно выполнить откат в ПОСЛЕ ТОГО, КАК УДАЛЯТ триггер.

5
ответ дан 30 November 2019 в 07:44
поделиться

Вы не можете. То, что можно сделать, проверить таблицу DELETE и отменить удаление, если необходимо сделать так.

Вот Последовательность событий:

  • Отправляют, УДАЛЯЮТ Команду к объекту SQL Server
  • , удален из таблицы
  • Триггерные Огни OnDelete, Выполняют Ваш
  • Логика, Если Логика fails/passes/whatever, отмена удаляет
0
ответ дан 30 November 2019 в 07:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: