PostgreSQL触发器怪事.??????
9812 2003-03-19 10:54:56 PostgreSQL触发器怪事.??????
drop table taba;
create table taba(
id integer,
name varchar(50)
);
insert into taba values(1,'chen');
insert into taba values(2,'chen');
insert into taba values(3,'chen');
insert into taba values(4,'chen');
insert into taba values(5,'chen');
insert into taba values(6,'chen');
insert into taba values(7,'chen');
select * from taba;
drop table tabb;
create table tabb(
id integer,
name varchar(50)
);
insert into tabb values(1,'chen');
insert into tabb values(2,'chen');
insert into tabb values(3,'chen');
insert into tabb values(4,'chen');
insert into tabb values(5,'chen');
insert into tabb values(6,'chen');
insert into tabb values(7,'chen');
select * from tabb;
drop function delete_tab ();
CREATE FUNCTION delete_tab () RETURNS opaque AS '
-- DECLARE
BEGIN
Delete from tabb where id = OLD.id;
RETURN NEW;
END;
' LANGUAGE 'plpgsql';
drop TRIGGER delete_tri on taba;
CREATE TRIGGER delete_tri
AFTER Delete
ON taba FOR EACH ROW
EXECUTE PROCEDURE delete_tab ();
删除表taba中的数据.tabb中的id=2也被删除.
delete from taba where id = 2;
select * from taba;
select * from tabb;
因我要用外建..所得改上面程序如下
CREATE TRIGGER delete_tri
before Delete
ON taba FOR EACH ROW
EXECUTE PROCEDURE delete_tab ();
before Delete 后...不知为什么.
delete from taba where id = 2;
select * from taba;
select * from tabb;
tabb中的数据被删除,但taba中的数据没有动.记录还在.????????
急...谢谢