नियमों को पूरी तरह से भूल जाओ। वे खराब हैं ।
ट्रिगर आपके लिए बहुत बेहतर हैं। और 99% मामलों में जब कोई सोचता है कि उसे एक नियम की आवश्यकता है। इसे आजमाएं:
create table users (
userid serial primary key,
username text
);
create table lastlogin (
userid int primary key references users(userid),
lastlogin_time timestamp with time zone
);
create or replace function lastlogin_create_id() returns trigger as $$
begin
insert into lastlogin (userid) values (NEW.userid);
return NEW;
end;
$$
language plpgsql volatile;
create trigger lastlogin_create_id
after insert on users for each row execute procedure lastlogin_create_id();
फिर:
insert into users (username) values ('foo'),('bar');
select * from users;
userid | username --------+---------- 1 | foo 2 | bar (2 rows)
select * from lastlogin;
userid | lastlogin_time --------+---------------- 1 | 2 | (2 rows)