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'