当前位置: 首页 > wzjs >正文

中国500强企业排名一览表泉州百度seo公司

中国500强企业排名一览表,泉州百度seo公司,网站建设服务费计入什么科目,阿里云网站备案要多久在 SQL Server 中,触发器是一种特殊类型的存储过程,它会在特定事件发生时自动执行。触发器主要分为以下几种类型: DML 触发器(Data Manipulation Language Triggers)DDL 触发器(Data Definition Language …

在 SQL Server 中,触发器是一种特殊类型的存储过程,它会在特定事件发生时自动执行。触发器主要分为以下几种类型:

  1. DML 触发器(Data Manipulation Language Triggers)
  2. DDL 触发器(Data Definition Language Triggers)
  3. 登录触发器(Logon Triggers)

1. DML 触发器

DML 触发器用于响应数据操作语言(INSERT、UPDATE、DELETE)语句。这些触发器可以定义在表或视图上。

示例:创建一个 AFTER INSERT 触发器

sql

-- 创建一个示例表
CREATE TABLE Employees (EmployeeID INT IDENTITY(1,1) PRIMARY KEY,Name NVARCHAR(100),Position NVARCHAR(100)
);
GO-- 创建一个审计表
CREATE TABLE EmployeeAudit (AuditID INT IDENTITY(1,1) PRIMARY KEY,EmployeeID INT,Name NVARCHAR(100),Position NVARCHAR(100),ActionTime DATETIME DEFAULT GETDATE()
);
GO-- 创建一个 AFTER INSERT 触发器
CREATE TRIGGER trgAfterInsert
ON Employees
AFTER INSERT
AS
BEGINSET NOCOUNT ON;INSERT INTO EmployeeAudit (EmployeeID, Name, Position)SELECT EmployeeID, Name, PositionFROM inserted;
END;
GO-- 测试触发器
INSERT INTO Employees (Name, Position) VALUES ('John Doe', 'Developer');
SELECT * FROM EmployeeAudit;

2. DDL 触发器

DDL 触发器用于响应数据定义语言(CREATE、ALTER、DROP)语句。它们可以定义在数据库级别或服务器级别,用于捕获和处理数据库对象的更改。

示例:创建一个数据库级别的 DDL 触发器

sql

-- 创建一个审计表
CREATE TABLE DDL_Audit (AuditID INT IDENTITY(1,1) PRIMARY KEY,EventType NVARCHAR(100),ObjectName NVARCHAR(256),EventTime DATETIME DEFAULT GETDATE(),LoginName NVARCHAR(256)
);
GO-- 创建一个数据库级别的 DDL 触发器
CREATE TRIGGER trgDatabaseDDL
ON DATABASE
FOR CREATE_TABLE, ALTER_TABLE, DROP_TABLE
AS
BEGINSET NOCOUNT ON;DECLARE @EventData XML;SET @EventData = EVENTDATA();INSERT INTO DDL_Audit (EventType, ObjectName, EventTime, LoginName)VALUES (@EventData.value('(/EVENT_INSTANCE/EventType)[1]', 'NVARCHAR(100)'),@EventData.value('(/EVENT_INSTANCE/ObjectName)[1]', 'NVARCHAR(256)'),GETDATE(),@EventData.value('(/EVENT_INSTANCE/LoginName)[1]', 'NVARCHAR(256)'));
END;
GO-- 测试触发器
CREATE TABLE TestTable (ID INT);
ALTER TABLE TestTable ADD Name NVARCHAR(100);
DROP TABLE TestTable;SELECT * FROM DDL_Audit;

3. 登录触发器

登录触发器是在用户尝试连接到 SQL Server 实例时触发的。它们通常用于控制登录行为或记录登录活动。

示例:创建一个登录触发器

sql

-- 创建一个审计表
CREATE TABLE LogonAudit (AuditID INT IDENTITY(1,1) PRIMARY KEY,LoginName NVARCHAR(256),LoginTime DATETIME DEFAULT GETDATE(),ClientHost NVARCHAR(256)
);
GO-- 创建一个登录触发器
CREATE TRIGGER trgLogon
ON ALL SERVER
FOR LOGON
AS
BEGINSET NOCOUNT ON;INSERT INTO master.dbo.LogonAudit (LoginName, LoginTime, ClientHost)VALUES (ORIGINAL_LOGIN(), GETDATE(), HOST_NAME());
END;
GO-- 测试触发器
-- 注销并重新登录,然后检查审计表
SELECT * FROM master.dbo.LogonAudit;

总结

  • DML 触发器:用于响应 INSERT、UPDATE 和 DELETE 操作,可以定义在表或视图上。
  • DDL 触发器:用于响应 CREATE、ALTER 和 DROP 操作,可以定义在数据库级别或服务器级别。
  • 登录触发器:用于响应用户登录事件,可以定义在服务器级别。

通过使用这些不同类型的触发器,你可以在 SQL Server 中实现复杂的业务逻辑、审计和安全控制。

http://www.dtcms.com/wzjs/263948.html

相关文章:

  • 公司高管培训课程唐山seo优化
  • 视觉差网站制作2022网站seo
  • 中卫网站推广优化刷百度关键词排名
  • 做俄语网站建设大一html网页制作作业
  • 集团网站建设定制网站建设百度大盘指数
  • 医院门户网站建设短视频推广平台有哪些
  • 制作小企业网站国内时事新闻
  • 做网站推广排名怎么在百度打广告
  • 宁波企业如何建网站无排名优化
  • 专注网站建设微信开发西安seo排名公司
  • 上海建设局网站深圳网站优化平台
  • 域名通过了才可以做网站吗赣州seo外包怎么收费
  • 河南网站备案系统短信长春网站优化团队
  • 大型网站建设建设公司seowhy教研室
  • 宁德蕉城城乡建设网站宁波seo推荐优化
  • 嘉兴网站建设推广免费百度下载
  • 寻找基础微网站开发站长工具 站长之家
  • 做二手手机交易网站公众号怎么推广
  • 网站设计网站建设公司旺道seo优化软件
  • 东莞网站制作有名 乐云践新百度搜索排名怎么收费
  • 个人商城网站建设关于市场营销的培训课程
  • 怎么做网站建设赚钱做app软件大概多少钱
  • 济南免费做网站交换友情链接的渠道
  • 设计头条官网企业关键词排名优化网址
  • 可信赖的做pc端网站怎么申请自己的域名
  • 怎么做网站的搜索引擎网站怎么优化推广
  • 网站开发研开发网站需要多少钱
  • 机械产品做哪个网站百度安全中心
  • 深圳公共资源交易网招标公告南通seo网站优化软件
  • 制作php网站网站seo公司