Sybase - Создать триггер, дающий синтаксическую ошибку для ссылки на новое как новое, старое как старое предложение - PullRequest
0 голосов
/ 22 февраля 2012

Я использую Sybase ASE 15.0.3 и DBArtisan 8.5.3.

Я пытаюсь создать триггер, который помещает данные в таблицы аудита при обновлении таблицы.

Мой код выглядит как

CREATE TRIGGER AUDIT_TRG ON TABLE A
FOR INSERT,UPDATE 
REFERENCING OLD AS OLD NEW AS NEW

Я получаю синтаксисошибка с указанием неправильного синтаксиса рядом со ссылкой.Если я указываю только старый или новый, я получаю другую ошибку, поскольку OLD или NEW не является допустимым идентификатором или что-то подобное (я не могу вспомнить точную ошибку)

Я даже пытался использовать: old и: newпохоже, они не работают.

Пожалуйста, дайте мне знать, как я могу получить доступ к старым и новым значениям записей обновляемой таблицы.

1 Ответ

0 голосов
/ 01 апреля 2015

Чтобы использовать new и old, вам не нужно создавать ссылку для new as new и old as old.

Например, вы должны сделать это так:

new.record_name
old.record_name

Если вы хотите использовать некоторую переменную, вы должны создать ссылку, подобную этой:

referencing OLD as some_variable

И затем вы используете эту переменную следующим образом:

some_variable.record_name
...