读书人

SQL2000中怎么将添加和删除数据放在一

发布时间: 2012-04-23 13:17:38 作者: rapoo

SQL2000中如何将添加和删除数据放在一个触发器中,利用一个判断语句实现
这里创建了一个student表,
create table student
(sno char(9)primary key,
sname char(20)unique,
sage smallint ,
ssex varchar(2),
sdept varchar(20)
)
表student1
create table student1
(sno char(9)primary key,
sname char(20)unique,
sage smallint ,
ssex varchar(2),
sdept varchar(20)
)

然后我在企业管理器中创建了关于studen表的两个触发器,即添加和删除数据的触发器,当从student表删除或者是增加数据的时候,student1表也执行相同的操作。
CREATE trigger delete_stu on dbo.student
for delete
as
begin
delete from student1
select * from deleted
end

CREATE trigger insert_stu on dbo.student
for insert
as
begin
insert into student1
select * from inserted
end

我的问题是如何将这两个写进同一触发器中,加上判断条件,进而实现操作

[解决办法]

SQL code
if not exists(select 1 from deleted) --添加if not exists(select 1 from inserted) --删除
[解决办法]
看到#1的想起应该要加多判断
SQL code
CREATE trigger delete_stu on dbo.studentfor delete,insertasbegin    if not exists(select 1 from deleted) --添加    begin        insert into student1 select * from inserted        select * from inserted    end    if not exists(select 1 from inserted) --删除    begin        delete from student1 where studentid in (select studentid from deleted)        select * from deleted    endend 

读书人网 >SQL Server

热点推荐