Должны процедуры и/или функции пакета DBMS_STANDARD использоваться в МН / коде SQL?

Недавно, я встретился с a BEFORE INSERT OR UPDATE включите таблицу. В этом триггере автор полагается INSERTING и UPDATING функции (оба возврата a BOOLEAN) из DBMS_STANDARD пакет, чтобы определить, был ли триггер запущен перед вставкой или перед обновлением.

Например:

CREATE OR REPLACE TRIGGER CUSTOMER_TRIGGER
  BEFORE INSERT OR UPDATE ON CUSTOMER
  FOR EACH ROW
BEGIN
  IF INSERTING THEN
    /* Some code */
  END IF;

  IF UPDATING THEN
    /* Some other code */
  END IF;
END;

Да, я знаю, что два, отдельные триггеры, возможно, были записаны для обработки этих двух событий отдельно. Это не точка этого вопроса.

После поиска и устранения неисправностей ошибки, будучи принятым этими функциями, мы получили слово (от Поддержки Oracle), что "dbms_standard стандартные программы действительно не предназначены, чтобы быть названным пользовательскими программами". Действительно ли это верно?

Я нахожу это немного странным, рассматривая другие процедуры (такой как RAISE_APPLICATION_ERROR и COMMIT) являются наиболее часто используемыми в МН / коде SQL.

5
задан Adam Paynter 26 July 2010 в 20:47
поделиться