触发器的编写列子、以前写的
easyjava吧
全部回复
仅看楼主
level 1
---建表
create table c(cid int primary key,region char(2))
create table a(id int primary key,cid int references c(cid),region char(2))
go
---触发器
create trigger 信息完善 on a
for insert,update
as
begin
declare @a int
set @a=(select c.cid from c join (select * from inserted) as b on c.region=b.region)
if @a is null
begin
print 'error!'
rollback
end
else
---注意update一定要加上where子句,不然所有行的cid字段都会变成同一个值
update a set cid=@a where id=(select id from inserted)
end
go
---向c表插入数据
insert into c values(001,'a')
insert into c values(002,'b')
insert into c values(003,'c')
insert into c values(004,'d')
-----向a表插入
正确的
数据
insert into a(id,region) values(1,'c')
insert into a(id,region) values(2,'d')
select * from a
-----向a表插入不正确的数据
insert into a(id,region) values(3,'e')
insert into a(id,region) values(4,'f')
2013年04月14日 03点04分 1
level 9

就是需要了、
2013年04月14日 05点04分 2
你怎么不顶了哦
2013年04月14日 06点04分
回复 噢丶Right :顶你个肺、
2013年04月14日 07点04分
level 8
顶、[顶]
2013年04月14日 06点04分 3
1