0

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
4

1 に答える 1

3

問題はGETDATE()にはないと思います。たぶん、トリガーの最後にある END を忘れているだけですか?

于 2011-08-09T01:28:16.910 に答える