SQL Server 2008 триггер ошибка при использовании процедуры GETDATE - PullRequest
0 голосов
/ 09 августа 2011

Я пытаюсь создать триггер в SQL Server 2008, который вставляет строку во 2-ю базу данных после обновления в 1-й базе данных.

Однако я получаю сообщение об ошибке ..

(Процедура поведенческий_алерт, строка 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

Чего мне не хватает здесь, я смотрю на это с косоглазым взглядом. Может быть, я выпил слишком много кофе.

Редактировать: это то, что я закончил, и это сработало. Я пропустил КОНЕЦ в конце триггера

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

1 Ответ

3 голосов
/ 09 августа 2011

Я думаю, что проблема не в GETDATE ().может быть, вы просто забыли про END в конце триггера?

...