上一篇用的是临时表,执行之后特殊应用都会消失。后面有讲到SQL Server本身只怎么操作的,就模拟了一个——添加触发器特殊应用。
1、创建S_ENTITY表和insert测试数据上一篇有这一篇就不写了。
2、创建Table2表并添加测试触发器:
--创建表:
CREATE TABLE [dbo].[table2_2](
[field1] [int] IDENTITY(1,1) NOT NULL,
[field2] [int] NULL,
[field3] [varchar](100) COLLATE Chinese_PRC_CI_AS NULL,
[field4] [varchar](300) COLLATE Chinese_PRC_CI_AS NULL,
[field10] [int] NULL,
[field5] [varchar](200) COLLATE Chinese_PRC_CI_AS NULL,
[field6] [decimal](30, 2) NULL,
[field7] [decimal](30, 2) NULL,
[field8] [decimal](30, 2) NULL,
[field9] [decimal](20, 3) NULL,
CONSTRAINT [PK_table2_2] PRIMARY KEY CLUSTERED
(
[field1] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
--添加测试触发器
-- =============================================
-- Author: <wjl>
-- Create date: <2015-5-13>
-- Description: <测试触发器>
-- =============================================
ALTER TRIGGER [TestTrigger]
ON [dbo].[table2]
AFTER DELETE
AS
BEGIN
SET NOCOUNT ON;
print '****************************************************'
END
3、先查看一下SQL Server对于表中插入一列的处理过程:在table2添加一列field10,在保存之前“生成更改脚本”,以下为其脚本信息:
/*
2015年5月13日11:01:49
用户: sa
服务器: 192.168.0.110
数据库: ac
应用程序:
*/
/* 为了防止任何可能出现的数据丢失问题,您应该先仔细检查此脚本,然后再在数据库设计器的上下文之外运行此脚本。*/
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON