|
Проблем в триггерах
|
|||
---|---|---|---|
#18+
1. Приспичело вот чтобы получаемые данные в тригерах в структурах :new & :old передать в сохраненную процедуру 2. Как обратиться к полям какой-либо структуры через индекс а не по именованию поля (наверное потому, что, например небуду знать наименование этих полей) Помогите, пжлста, кто знает начинающему. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2001, 18:19 |
|
Проблем в триггерах
|
|||
---|---|---|---|
#18+
1. Да нет проблем, просто к ним NEW&OLD нужно обращаться с двоеточием. Имеем таблицу ASSA CREATE TABLE assa ( a VARCHAR2(100), id_doc NUMBER ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 / Триггер для неё CREATE OR REPLACE TRIGGER andrew_assa_proba BEFORE INSERT OR DELETE OR UPDATE ON assa REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW Begin PROBA_1(:old.a, :old.id_doc, 0); PROBA_1(:new.a, :new.id_doc, 1); End; / Процку для сохранения старых и новых параметров. Procedure PROBA_1 ( par1 varchar2, par2 number, par3 number) IS BEGIN insert into assa1(a, id_doc, N_O, timestamp) values(par1,par2,par3, sysdate); END; -- Procedure PROBA_1 Ну и другу талбличку с похожим параметрами: CREATE TABLE assa1 ( a VARCHAR2(100), id_doc NUMBER, n_o NUMBER(1), timestamp DATE ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 / Счастья Вам, в 2001 году!!! А по второму вопросу что-то не понял, поясни, please. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2001, 06:30 |
|
Проблем в триггерах
|
|||
---|---|---|---|
#18+
Спасибо за ответ, но это я умею А не умею вот что: есть структура типа RECORD - она же :NEW или :OLD, которые возвращаются в триггере. В Microsoft все просто - там это не структуры, а таблицы и на них можно сделать селект, курсор и т.п. а в Оракле мне нужно что-то подобное. Селект на структуру не сделаешь, и в качестве параметра ее не передашь в другое место. И хочется в цикле пройтись по полям структуры, т.е.: триггер с :NEW & :OLD My_procedure(:NEW, :OLD) ----- procedure My_procedure(rec1, rec2) for i to минимальное_значение..максимальное_значение ... := rec ; ----- то есть хочется обращаться к полям структуры как к типу TABLE если делать через TABLE то все равно надо в цикле как то перегнать в него. Дело в том что не хотелось бы писать для всей базы данных для каждой таблицы перечисление всех полей - правильно сделать это в цикле независимо от структуры таблиц и применить это во нужных тригерах. Вот знаний тут и не хватает. Может кто знает ????? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2001, 09:55 |
|
Проблем в триггерах
|
|||
---|---|---|---|
#18+
Ладно, я подумаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2001, 13:18 |
|
|
start [/forum/topic.php?fid=52&fpage=2855&tid=1993631]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
28ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 131ms |
0 / 0 |