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

2021-08-20 21:08:41 字數 655 閱讀 8621

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

觸發器寫的也有問題

mysql關於觸發器怎麼判斷資料存在時更新不存在時新增呢

放到過程裡,先更新,判斷是否有影響行,沒有就插入。求一sql觸發器,向表裡插入資料時判斷該條記錄是否存在,如果存在則更新,不存在則插入,求大神指導 20 你的除發器沒有觸發條件,再說這也不用除發器啊。用merge就可以。這個就可以達到你的要求的。mysql 觸發器更新一條記錄時在另一個表判斷資料是否...

sql語言建立觸發器的問題

create trigger trdel on 訂貨單 for delete asupdate 訂單明細 set 訂單資料 訂單明細.訂單資料 a.訂單資料 from deleted as a where a.訂單號 訂單明細.訂單號 當訂貨單中的訂單號被刪除時,訂單明細表的訂單號的統計資料發生相應...

sql資料庫拒絕訪問,SQL 不存在或拒絕訪問

那就設定一個定時指令碼,每天深夜的時候重啟一下。可能是鎖死。我猜測1.達到連線的上限 2.重啟以後檢查一下日誌 3.是否死鎖 提示sql sever不存在或拒絕訪問,要怎麼解決 1 檢查sql服務是否正確安裝,若無,則需重新安裝sql server 2 檢查sql伺服器的網路防火牆是否開放了1433...