我想在SQL Server 2008中創建一個觸發器,它在第一個數據庫中更新後向第二個數據庫中插入一行。當我使用過程GETDATE時SQL Server 2008觸發拋出錯誤GETDATE
不過,我不斷收到一個錯誤..
(程序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
缺少什麼我在這裏查詢,去橫渡目光炯炯地看着這一點。也許我喝了太多咖啡。
編輯:這是我結束了,它的工作。我錯過了在觸發
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
你真的需要變量嗎? '和conduct_date> = GETDATE()'有什麼問題? –
你在哪裏引用'插入'或'刪除'...當然,你會明智地使用'插入',並明確地命名你的列'insert'和'select' ... –
@ todda.speot。是 - 行爲只發生在一年一次,在年底表被抹去並重新開始。每一天和各種不同的行爲。一個學生可以有多個加5但是不同的行爲。你認爲我需要 – IanN