修改SQL Server觸發器狀態的語句
下面為您介紹的SQL語句用于復制表、以及查看并修改SQL Server觸發器狀態,如果您對SQL語句使用方面感興趣的話,不妨一看。
1.INSERT INTO SELECT語句
語句形式為:Insert into Table2(field1,field2,...) select value1,value2,... from Table1
要求目標表Table2必須存在,由于目標表Table2已經存在,所以我們除了插入源表Table1的字段外,還可以插入常量。示例如下:
INSERT INTO SELECT語句復制表數據
--1.創建測試表
- create TABLE Table1
- (
- a varchar(10),
- b varchar(10),
- c varchar(10),
- CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED
- (
- a ASC
- )
- ) ON [PRIMARY]
- create TABLE Table2
- (
- a varchar(10),
- c varchar(10),
- d int,
- CONSTRAINT [PK_Table2] PRIMARY KEY CLUSTERED
- (
- a ASC
- )
- ) ON [PRIMARY]
- GO
--2.創建測試數據
- Insert into Table1 values('趙','asds','90')
- Insert into Table1 values('錢','asds','100')
- Insert into Table1 values('孫','asds','80')
- Insert into Table1 values('李','asds',null)
- GO
- select * from Table2
--3.INSERT INTO SELECT語句復制表數據
- Insert into Table2(a, c, d) select a,c,5 from Table1
- GO
--4.顯示更新后的結果
- select * from Table2
- GO
--5.刪除測試表
- drop TABLE Table1
- drop TABLE Table2
2.SELECT INTO FROM語句
語句形式為:SELECT vale1, value2 into Table2 from Table1
要求目標表Table2不存在,因為在插入時會自動創建表Table2,并將Table1中指定字段數據復制到Table2中。
[查看觸發器狀態]
- select 表名=object_name(parent_obj),觸發器名=name
- ,狀態=case status & power(2,11) when power(2,11) then '禁用' else '啟用' end
- from sysobjects
- where type='TR' order by 表名,狀態
[修改觸發器狀態]
- --禁用表上的某個trigger
- Alter table outputproducts disable trigger Tr_outputproducts
- Alter table outputproducts enable trigger Tr_outputproducts
- --禁用表上的所有tirgger
- Alter table tablename disable trigger all
【編輯推薦】