數據庫表:
創建語句:
--table1
CREATE TABLE [dbo].[table1]( [id] [int] IDENTITY(1,1) NOT NULL, [value] [varchar](10) NULL, CONSTRAINT [PK_table] PRIMARY KEY CLUSTERED ( [id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]
--table2
CREATE TABLE [dbo].[table2]( [id] [int] IDENTITY(1,1) NOT NULL, [count] [int] NOT NULL, CONSTRAINT [PK_table2] PRIMARY KEY CLUSTERED ( [id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY]
insert into table2(count) values(0)
--觸發器語句,對table1進行插入或者刪除操作會觸發觸發器更新table1的行數
CREATE TRIGGER insert_table1 ON table1
FOR INSERT , DELETE
AS BEGIN
UPDATE table2 set count=(SELECT count(*) FROM table1) WHERE id=1;
END; ===============================================================================================================================================
觸發器知識:
一般格式:
CREATE TRIGGER <觸發器名>
{BEFORE | AFTER} <觸發事件> ON <表名>
FOR EACH {ROW | STATEMENT}
[WHEN <觸發條件>]
<觸發動作體>
觸發事件:可以是INSERT、DELETE或UODATE,也可以是幾個事件的組合。
觸發器類型:可以分為行級觸發器(FOR EACH ROW)和語句級觸發器(FOR EACH STATEMENT)
新聞熱點
疑難解答