SQL判斷觸發器不存在則執行建立觸發器語句怎麼過不去一直報錯

時間 2021-08-30 09:47:58

1樓:

create trigger語句必須單獨放在一個查詢裡執行才可以,前邊不能有任何其他語句。你在create trigger之前放了go我想就是為了讓它在單獨的查詢中執行,但是exists就不起作用了,而且go之前的begin和最後的end是在兩個批查詢中,本身就不能配對,語法就有問題。exists用法也不對,應該是not exists,objectproperty用法也錯了。

如果樓主想實現判斷觸發器不存在則建立,那麼,建立觸發器的語句就得放在動態語句裡來執行了

if not exists (select * from sysobjects where id=object_id(n'delpoints') and objectproperty(object_id('delpoints'),n'istrigger')=1)

begin

exec ('create trigger delpoints on ghxh_customer after update as begin update ghxh_customer set points = 0 where name like ''%零售顧客%'' end')end

2樓:匿名使用者

把等於改為等於1 這個是布林型的 怎麼會有2

觸發器寫的也有問題

急!!!Sql建立觸發器,SQL如何建立乙個觸發器

建立2個觸發器 create trigger trg update on dbo 資料表a for update asdeclare oldname nvarchar 50 declare newname nvarchar 50 declare tlen int select newname nam...

SQL觸發器更新兩個資料表的問題

將你表中設計到的text,ntext和image列 進行轉化如果是2000 text 轉化成varchar 8000 ntext 轉化成nvarchar 4000 image列 轉化成 varbinary 8000 2005 轉化 text 轉化成varchar max ntext 轉化成nvarc...

SQL提示不支援建立觸發器 該怎麼辦

只有for sql觸發器語法 語法 create 樓主這個問題解決了嗎,我也遇到了一樣的問題。換個使用者登入試一下,是不是沒有許可權。為什麼在sqlplus裡建立不了觸發器 啊啊 sql sever 有很多個版本的,你看你的裝的是不是個人版的,還有你是否有足夠的許可權,如果你是企業版,或開發版的,同...