我的目的是不在表里加primary key或是 unique的限制,用trigger来实现..
A,B  这一对值是唯一的...但是为什么我的trigger不成功的?create table R (
A integer,
B integer,
C varchar(20)
);@triggersinsert into R values (12,4,'x');
insert into R values (13,4,'y');
insert into R values (13,5,'z');
insert into R values (14,4,'y');
insert into R values (12,4,'z');
update R set A=12 where C='y';//-----------------------
[code]
triggers.sqlcreate or replace trigger PK_CONSTR before insert or update on R 
for each row
declare
cursor r1 is
select * from R;
cursor r2 is 
select * from R; exec1 exception;
begin
for rec1 in r1 loop
for rec2 in r2 loop
if rec1.A = rec2.A then
if rec1.B = rec2.B then
raise exec1;
end if;
end if;
end loop;
end loop;exception
when exec1 then
dbms_output.put_line('Duplicate violation');
end;
/
[/code]