Какой правильный синтаксис для триггера Oracle для обновления другой таблицы? - PullRequest
0 голосов
/ 21 февраля 2012

Схема: НАЗНАЧЕНИЕ (номер заявки, технология pplSoft, назначенная дата, статус) Если поле состояния является перечислением, может быть: назначено, выполняется, делегировано, закрыто успешно или закрыто неудачно

1) Записьтриггер, называемый ClosedTicket, который всякий раз, когда атрибут статуса таблицы ASSIGNMENT изменяется на «закрыто успешно» или «закрыто неуспешно», он устанавливает значение атрибута даты закрытия таблицы TICKETS на текущую дату.

Начну ли я так?а в предложении where использовать status = «закрыт успешный» ИЛИ status = «закрыт неудачный»?

СОЗДАТЬ ИЛИ ЗАМЕНИТЬ ТРИГГЕР ClosedTicket после обновления на

1 Ответ

2 голосов
/ 21 февраля 2012

Примерно так должно работать (хотя я догадываюсь, как называется столбец первичного ключа в TICKETS).

CREATE OR REPLACE TRIGGER ClosedTicket
  AFTER UPDATE ON assignment
  FOR EACH ROW
BEGIN
  IF( :new.status IN ('closed successful', 'closed unsuccessful' ) )
  THEN
    UPDATE tickets t
       SET date_closed = sysdate
     WHERE t.ticket_id = :new.ticket;
  END IF;
END;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...