sql server2005触发器修改问题
begin end 中的alter trigger为何出错
--删除表
if object_id('timeTable') is not null
drop table timeTable
go
--创建表
create table timeTable
(
id int,
date_time datetime,
updatetime datetime,
)
go
--删除触发器
if object_id('setTime') is not null
drop trigger setTime
go
--创建触发器
create trigger setTime
on timeTable
for insert,update
as
begin
print 'aaaa'
end
go
--插入数据
insert into timetable values(1,'01-07-01 12:00:00','01-07-01 13:00:00')
select * from timeTable
--修改触发器
if object_id(setTime) is not null
begin
alter trigger setTime----错误的原因是啥???
on timetable
for insert,delete,update
as
begin
print 'ffff'
select * from timeTable
end
end
答案:'CREATE TRIGGER' 必须是查询批次中的第一个语句。
所以trigger 不能在begin 与 end中。你可以先删除然后再创建。
if object_id('timeTable') is not null
drop table timeTable
go
--创建表
create table timeTable
(
id int,
date_time datetime,
updatetime datetime,
)
go
--删除触发器
if object_id('setTime') is not null
drop trigger setTime
go
--创建触发器
create trigger setTime
on timeTable
for insert,update
as
begin
print 'aaaa'
end
go
--插入数据
insert into timetable values(1,'01-07-01 12:00:00','01-07-01 13:00:00')
select * from timeTable
--修改触发器
drop trigger setTime
go
--创建触发器
create trigger setTime
on timeTable
for insert,update
as
begin
print 'ffff'
select * from timeTable
end
上一个:SQL server 30道小练习求高手帮忙写下 下周要考试 !!!
下一个:为什么卸载Microsoft SQL Server 2005 的时候出现下面的提示,不能成功卸载