三个SQL Server 数据库触发器的例子[原创]
2010-08-19 17:00
337 查看
之前搞软件都是用Oracle的数据库,前段时间给其他部门做的一个文档管理系统,用的是SQL Server 2000的数据库,跟Oracle有些区别。
下面是两个SQL 2000的触发器的例子!
说明:
Add User的作用:当添加一个用户时自动添加用户信息页面!
Delete User的作用:当删除一个用户时,所有该用户相关的用户规则均会被删除
Delete Function的作用:当删除一项系统功能时自动清除用户规则中所有与该规则相关的记录
下面是两个SQL 2000的触发器的例子!
说明:
Add User的作用:当添加一个用户时自动添加用户信息页面!
Delete User的作用:当删除一个用户时,所有该用户相关的用户规则均会被删除
Delete Function的作用:当删除一项系统功能时自动清除用户规则中所有与该规则相关的记录
--Add User If Exists(Select Name From sysobjects Where Name='AddUserInfoPage' And Type='TR') Drop Trigger AddUserInfoPage GO Create Trigger AddUserInfoPage on Users for Insert as Declare @UserID Int Declare @FunctionID Int If Exists(Select * From Functions Where FunctionPage='UserPanel.aspx') Begin Select @UserID=[ID] From Inserted Select @FunctionID= [ID] From Functions Where FunctionPage='UserPanel.aspx' Insert Into UserRoles(UserId,FunctionID,[Description]) Values(@UserID,@FunctionID,'用户信息') End GO --Delete User If Exists(Select Name From sysobjects Where Name='DeleteUserFunctions' And Type='TR') Drop Trigger DeleteUserFunctions GO Create Trigger DeleteUserFunctions on Users After Delete as Declare @UserID Int If Exists(Select * From UserRoles Where UserID=(Select [ID] From Deleted)) Begin Select @UserID=[ID] From Deleted Delete From UserRoles Where UserID=@UserID End GO --Delete Function If Exists(Select Name From sysobjects Where Name='DeleteFunction' And Type='TR') Drop Trigger DeleteFunction GO Create Trigger DeleteFunction on Functions After Delete as Declare @FunctionID Int If Exists(Select * From UserRoles Where FunctionID=(Select [ID] From Deleted)) Begin Select @FunctionID=[ID] From Deleted Delete From UserRoles Where FunctionID=@FunctionID End GO
相关文章推荐
- SQL Server 数据库脚本导出器(原创)
- 数据库详细说明之触发器使用【深海原创】
- [导入](C#)调用SQL Server 2000中存储过程的例子[Longever原创]
- 浅谈SQL Server 数据库之触发器
- 监控SQL:通过SQL Server的DDL触发器来监控数据库结构的变化(1)
- 针对一个SQL SERVER 表的三个触发器
- SQL Server 用触发器生成格式化单号的例子
- sql server 数据库中 触发器和约束的暂停及恢复操作 命令
- SQL server 使用触发器跨数据库备份数据
- [SQL SERVER系列]存储过程,游标和触发器实例[原创]
- 用SQL Server 2005DDL触发器对数据库进行监控
- 14.数据库oracle必学,其他最好了解一种以上(mysql,sql server,access==) oracle:视图,索引,存储过程,触发器,游标,包,常用函数
- [数据库]一个利用触发器(trigger)实现数据库表的审计功能(audit)的例子--针对ms sql实现
- [SQL SERVER系列]存储过程,游标和触发器实例[原创]
- 监控SQL:通过SQL Server的DDL触发器来监控数据库结构的变化(1)
- SQL Server ->> 重新创建Assembly和自动重建相关的数据库编程对象(存储过程,函数和触发器)
- SQL Server 两个触发器例子
- 建议初学者从三个方面学习数据库(SQL Server)
- SQL Server查询数据库所有存储过程、触发器、索引信息SQL分享
- 数据库触发器DB2和SQL Server的异同