易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL触发器的使用

一、创建一个简单的触发器
触发器是一种特殊的存储过程,类似于事件函数,SQL Server? 允许为 INSERT、UPDATE、DELETE 创建触发器,即当在表中插入、更新、删除记录时,触发一个或一系列 T-SQL语句。
触发器可以在查询分析器里创建,也可以在表名上点右键->“所有任务”->“管理触发器”来创建,不过都是要写 T-SQL 语句的,只是在查询分析器里要先确定当前操作的数据库。
创建触发器用 CREATE TRIGGER
CREATE TRIGGER 触发器名称
ON 表名
FOR INSERT、UPDATE 或 DELETE
AS
    T-SQL 语句
注意:触发器名称是不加引号的。
如下是联机丛书上的一个示例,当在 titles 表上更改记录时,发送邮件通知 MaryM。
CREATE TRIGGER reminder
ON titles
FOR INSERT, UPDATE, DELETE
AS
   EXEC master..xp_sendmail 'MaryM',
      'Don''t forget to print a report for the distributors.'
二、删除触发器
用查询分析器删除
在查询分析器中使用 drop trigger 触发器名称 来删除触发器。
也可以同时删除多个触发器:drop trigger 触发器名称,触发器名称...
注意:触发器名称是不加引号的。在删除触发器之前可以先看一下触发器是否存在:
if Exists(select name from sysobjects where name=触发器名称 and xtype='TR')
用企业管理器删除
在企业管理器中,在表上点右键->“所有任务”->“管理触发器”,选中所要删除的触发器,然后点击“删除”。
三、重命名触发器
用查询分析器重命名
exec sp_rename 原名称, 新名称
sp_rename 是 SQL Server? 自带的一个存储过程,用于更改当前数据库中用户创建的对象的名称,如表名、列表、索引名等。
用企业管理器重命名
在表上点右键->“所有任务”->“管理触发器”,选中所要重命名的触发器,修改触发器语句中的触发器名称,点击“确定”。
四、more....
INSTEAD OF
执行触发器语句,但不执行触发触发器的 SQL 语句,比如试图删除一条记录时,将执行触发器指定的语句,此时不再执行 delete 语句。例:
create trigger f
on tbl
instead of delete
as
    insert into Logs...
IF UPDATE(列名)
检查是否更新了某一列,用于 insert 或 update,不能用于 delete。例:
create trigger f
on tbl
fo


相关文档:

SQL Server 2008定时作业的制定(SQL2005参考此方法)

SQL Server 2008 定时作业的制定
--1.打开【SQL Server Management Studio】,在【对象资源管理器】列表中选择【SQL Server 代理】;
--2.鼠标右击【SQL Server 代理】,选择【启动(S)】,如已启动,可以省略此步骤;
--3.展开【SQL Server 代理】列表,右击【作业】-->【新建作业】;
--3.1 在【常规】选项卡中: ......

SQL语句关键字UNION小知识

   今天在用UNION进行将两个查询结合时,发现加了text类型的字段进去就报错了,错误信息如下:
不能以 DISTINCT 方式选择 text、ntext 或 image 数据类型。
     经过翻阅资料后才知道,原因在于如此操作 无法对text类型判断是否重复,所以要在UNION后加个ALL关键字,如下:
select top ......

SQL触发器实例

SQL触发器实例1
定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。
      常见的触发器有三种:分别应用于Insert , Update , Delete 事件。
      我为什么要使用触发器?比如, ......

用ASP.NET还原与恢复Sql server

上次做了个项目,涉及到数据库的还原和恢复,到网上找了一下,是利用SQLDMO实现的,只要添加SQLDMO引用就好了,然后利用下边的类的方法就可以实现了。
  我把原作者的类扩充了一下,可以自动识别web.config里 的数据库连接字符串,可以通过变量设置还原恢复的信息。
  需要注意的时还原,还原的时候问题最大了,有别 ......

SQL like子句的另一种实现方法,速度比like快


SQL like子句的另一种实现方法,速度比like快(转)
一般来说使用模糊查询,大家都会想到LIKE
select * from table where a like '%字符%'
如果一个SQL语句中用多个 like模糊查询,并且记录条数很大,那速度一定会很慢。
下面两种方法也可实现模糊查询:
select * from table where patindex('%字符%',a)>0 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号