我正在尝试在 SQL Server 2008 中创建一个触发器,该触发器在第一个数据库中更新后将一行插入到第二个数据库中。
但是我不断收到错误..
(过程 behavior_alert,第 11 行 ')' 附近的语法不正确
这是因为在触发器中使用了 DATETIME。
这可以作为普通查询工作,我不明白为什么它不能作为触发器工作。只能调整查询选择当前日期时间吗?
下方查询
create trigger behaviour_alert
on [database1].[dbo].[studconduct]
for update
as
begin
declare @conductdatetime as datetime
set @conductdatetime = GETDATE()
insert into database2.dbo.behaviouralert
select *
from studconduct
where curr_ind='Y'
and cond_pts >= '5'
and conduct_date >= @conductdatetime
我在这里想念什么,睁大眼睛看着这个。也许我喝了太多咖啡。
编辑:这就是我最终得到的,它奏效了。我错过了触发器末尾的 END
create trigger behaviour_alert
on [database1].[dbo].[studconduct]
for update
as
begin
insert into database2.dbo.behaviouralert
select *
from studconduct
where curr_ind='Y'
and cond_pts >= '5'
and conduct_date >= datetime
end