SQL存储过程和触发器

一. 存储过程

1.  有关概念

  存储过程是由SQL语句及控制流语句组成的集合。调用一个存储过程,可以一次性地执行过程中的所有语句。从这一点来说,它类似于程序。

存储过程由用户建立,它作为数据库的一个成分,存在于数据库中。

2.  创建一个存储过程 

 

1 create procedure procedure_a
2 as 
3 select * from Student
4 go 

 3.  执行存储过程 “procedure_a”

exec procedure_a

 当上述命令执行之后, 会立即执行位于存储过程定义中的 "select * from Student" 语句

 

二 . 触发器

 

  触发器是一种特殊的存储过程, 用它来控制关联的表。

 

1. 创建一个名为 “tr_test” 的触发器

 

1 create trigger tr_test 
2 on student 
3 for update
4 as
5 insert into student values('95005','张三','',21,'CS')

创建完成之后, 正如触发器定义中那样, 每当对表 Student 进行 update 操作的时候, 触发器都会被触发, 然后立即执行语句 :

insert into student values('95005','张三','男',21,'CS')

2. 删除一个触发器

drop trigger tr_test

 

PS:

1. 查看当前库中有哪些触发器 

select * from sysobjects where xtype = 'TR'

2. 查看名为 “tr_test” 触发器的定义

exec sp_helptext 'tr_test'

3. 查看名为 “tr_test” 触发器的有关信息

exec sp_help 'tr_test'

 

 

posted @ 2014-06-05 22:43  大Yi巴狼  阅读(956)  评论(0编辑  收藏  举报