SQL Server 2008 で、1 番目のデータベースの更新後に 2 番目のデータベースに行を挿入するトリガーを作成しようとしています。
ただし、エラーが発生し続けます..
(手順 behaviour_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