|
Простейший триггер
|
|||
---|---|---|---|
#18+
Взгляните на этот триггер, где у меня ошибка. Как я его вставляю в базу не может быть добавлена запись в таблицу authreg. Мне нужно, чтобы после добавления записи в таблицу authreg в таблицу public."roster-items" добавились новые записи. Может можно как-то сделать триггерную функ. Чтобы после добавления в таблицу authreg новой записи все старые попадали в функцию, а оттуда я бы их вставлял в табл. "roster-items". CREATE OR REPLACE FUNCTION trig_f_adduser() RETURNS OPAQUE AS' DECLARE varchar(256) user_p; varchar(256) realm_p; BEGIN SELECT username,realm INTO user_p,realm_p FROM authreg WHERE username<>NEW.username; insert into public."roster-items" values(NEW.username||''@''||NEW.realm,nextval(object-sequence),user_p||''@''||realm_p,user_p,true,true,0); RETURN NEW; END; 'language 'plpgsql'; CREATE TRIGGER adduser AFTER INSERT ON authreg FOR EACH ROW EXECUTE PROCEDURE trig_f_adduser(); Чем будет отличаться если будет FOR EACH STATEMENT? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2004, 09:01 |
|
Простейший триггер
|
|||
---|---|---|---|
#18+
Эээ... Работать не будет? ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.04.2004, 10:34 |
|
Простейший триггер
|
|||
---|---|---|---|
#18+
да, работать не будет т.к. не будет NEW в for each statement объясни подробней что нужно добавлять в roster-items - все записи кроме текущей из authreg ? тогда имхо insert into roster items (select * from authreg where oid!=NEW.oid) (или тут user!=NEW.user, а если повесить триггер на before то вроде как от where можно отказаться - в момент before зпись в таблице еще не вставлена, так что все что есть в ней - старые записи) только тогда у тебя roster-items будет расти быстро - на каждую новую строку в authreg у тебя в roster будет класться копия таблицы authreg ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2004, 22:05 |
|
|
start [/forum/search_topic.php?author=%D1%82%D0%BE%D1%85%D1%82%D1%83%D1%80&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 766ms |
total: | 921ms |
0 / 0 |