當前位置:首頁 » 編程語言 » sql資料庫停用觸發器
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql資料庫停用觸發器

發布時間: 2022-08-16 08:00:23

1. 如何用sql語句刪除 SQL Server 中的觸發器

-- 查看資料庫已有觸發器
use yourdatabase
go
select * from sysobjects where xtype='TR'
-- 查看單個觸發器
exec sp_helptext '觸發器名'

--刪除觸發器:
基本語句如下:
drop trigger trigger_name

2. sql語句中怎麼把觸發器暫時停止

關閉某個表上指定觸發器
ALTERTABLE表名DISABLETRIGGER觸發器名
打開某個表上指定觸發器
ALTERTABLE表名ENABLETRIGGER觸發器名

3. 禁用/啟用一個庫里所有表的觸發器的sql怎麼寫

select name from sysobjects where xtype='P' --所有存儲過程
select name from sysobjects where xtype='V' --所有視圖
select name from sysobjects where xtype='U' --所有表
全部禁用:Alter table t1 disable trigger all;
全部生效:Alter table t1 enable trigger all;
單個禁用:Alter table t1 disable trigger 觸發器名;
查出指定TR的內容:sp_helptext 't_test'
查出所有名稱與內容:
select b.name as 名稱,a.text as 內容,case xtype when 'p ' then '存儲過程 ' else '觸發器 ' end as 類型 from syscomments a,sysobjects b where object_id(b.name)=a.id and b.xtype in( 'P ', 'TR ') and b.status =0
order by 類型
查出所有非系統資料庫並列出:
select * from

4. 禁用SQL 2000 觸發器

試試將兩個腳本合並時,在兩個腳本後各加一個GO語句,如下:
腳本1;
GO
腳本2;
GO

5. 在SQL中,為什麼我創建了一個DDL觸發器後不能刪除請高手為我解答。

如果要刪除的觸發器位於樣式或控制項模板中,請確保處於該樣式或模板的編輯模式下。

6. sql資料庫觸發器求指導

這個完全沒有必要去創建觸發器啊。

直接外鍵設置成 DELETE CASCADE 方式 的就可以了, 一行觸發器的代碼也不用寫。


下面是具體的對比例子:

--創建測試主表.ID是主鍵.
CREATETABLEtest_main(
idINTNOTNULL,
valueVARCHAR(10),
PRIMARYKEY(id)
);


--創建測試子表.
CREATETABLEtest_sub(
idINTNOTNULL,
main_idINT,
valueVARCHAR(10),
PRIMARYKEY(id)
);


--插入測試主表數據.
INSERTINTOtest_main(id,value)VALUES(1,'ONE');
INSERTINTOtest_main(id,value)VALUES(2,'TWO');

--插入測試子表數據.
INSERTINTOtest_sub(id,main_id,value)VALUES(1,1,'ONEONE');
INSERTINTOtest_sub(id,main_id,value)VALUES(2,2,'TWOTWO');



上面是 測試表+測試數據

下面是 默認外鍵約束方式的例子

1>ALTERTABLEtest_subADDCONSTRAINTmain_id_consFOREIGNKEY(main_id)REFERENCEStest_main;
2>go
1>DELETE
2>test_main
3>WHERE
4>ID=1;
5>go
消息547,級別16,狀態1,伺服器HOME-BED592453CSQLEXPRESS,第1行
DELETE語句與REFERENCE約束"main_id_cons"沖突。該沖突發生於資料庫"Stock",表"db
o.test_sub",column'main_id'。
語句已終止。


看看, 提示的錯誤信息, 和你的錯誤信息, 格式上是一樣的。


下面是使用DELETE CASCADE 方式 的外鍵約束的例子

(需要刪除掉前面創建的那個外鍵約束)


1>--創建外鍵(使用ONDELETECASCADE選項,刪除主表的時候,同時刪除子表)
2>ALTERTABLEtest_sub
3>ADDCONSTRAINTmain_id_cons
4>FOREIGNKEY(main_id)REFERENCEStest_mainONDELETECASCADE;
5>
6>--測試刪除主表數據.將成功地執行.
7>DELETE
8>TEST_MAIN
9>WHERE
10>ID=1;
11>
12>--測試檢索子表,應該只有一條main_id=2的數據.
13>SELECT
14>*
15>FROM
16>test_sub;
17>
18>go

(1行受影響)
idmain_idvalue
--------------------------------
22TWOTWO

(1行受影響)

7. SQL。。如何停用,刪除一個資料庫中所有的觸發器

use 庫名
go
alter *
from sysobjects
where type='TR'
go
--以上是顯示當前庫中所有的觸發器--

use 庫名
drop trigger test1
--根據表觸發器名一個一個的刪就行了,順便說一下沒有一下子全部刪除的命令,祝你好運--

8. 怎樣禁止一個SQL觸發器

在寫觸發器的時候,把程序體寫成存儲過程,然後由觸發器調用過程,沒用的時候可以刪除,想用的時候直接加上exec就可以了,呵呵,我都是這么做的

9. sql server 2008怎麼停止觸發器

-- 查看資料庫已有觸發器 use yourdatabase go select * from sysobjects where xtype='TR' -- 查看單個觸發器 exec sp_helptext '觸發器名' --刪除觸發器: 基本語句如下: drop trigger trigger_name

10. SQL 如何禁用觸發器

--禁用
alter table [tablename]
disable all trigger

--恢復
alter table [tablename]
enable all trigger

詳細語法,請F1查詢幫助