|
Помогите триггер написать PG.7.4.2
|
|||
---|---|---|---|
#18+
Есть две таблицы: В этой таблице находятся все зарегистрированные пользователи. CREATE TABLE public.authreg ( username varchar(256), realm varchar(256), password varchar(256), token varchar(10), sequence int4, hash varchar(40)) WITH OIDS; В этой таблице хранятся на каждого пользователя, те пользователи которые добалены в его контакт-лист. CREATE TABLE public."roster-items" ("collection-owner" text, "object-sequence" int8, jid text, name text, to bool, from bool, ask int4) WITH OIDS; Для того, чтобы добавить в контак-лист зарегистрированного пользователя "youra" зарегистрированного пользователя "denis" нужно выполнить insert into public."roster-items" values('youra@192.168.0.1',nextval('object-sequence'),'denis@192.168.0.1','denis','true','true','0'); Мне необходимо сделать следующее написать триггер который при добавлении нового пользователя (Пользователь добавляется в табл. public.authreg), добавлять в его котакт-лист всех пользователей зарегистрированных в таблице public."roster-items", и добавить себя в контакт-листы всех заведенных пользователей. Я вот пытался написать триггерную функцию, должно быть как мне кажется: CREATE OR REPLACE FUNCTION trig_f_adduser () RETURNS OPAQUE AS ' BEGIN Для каждой записи select username||'@'||realm from authreg where username<>new.username; insert into public."roster-items" values(new.username||''@''||new.realm,nextval(''object-sequence''), username||''@''||realm,username,''true'',''true'','0'); endif END; 'language 'plpgsql'; ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2004, 14:55 |
|
Помогите триггер написать PG.7.4.2
|
|||
---|---|---|---|
#18+
После добавления новой записи в authreg в таблицу roster-items будет вставлено 2*(N -1) строк, где N - число записей в authreg, учитывая новую. Может быть, имеет смысл как-то изменить логику? По функциям етсь хороший раздел в руководстве. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2004, 16:27 |
|
|
start [/forum/topic.php?fid=53&gotonew=1&tid=2007890]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
75ms |
get topic data: |
10ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 332ms |
total: | 503ms |
0 / 0 |