存储过程
概念:
存储过程是指为了完成特定的功能由一条或多条sql语句组成的集合,存储过程创建之后,用户通过指定存储过程名称与参数,调用该存储过程并且执行。
分类:
- 系统存储过程
通常被存放到master数据库中,存储过程名称通常以“sp_”为前缀
- 用户自定义存储过程
是指为了完成某一段特定的功能需求,在用户数据库中利用t-sql自行编辑的语句集合
简单使用
--存储过程查询所有数据
--begin...end 类似编程语言中的{}
create proc stu1
as
begin
select * from student;
end
go
--执行存储过程
exec stu1
触发器
概念:
触发器是一种特殊的存储过程,它不能被显式地调用,而是在哪个表中插入记录、更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约束
分类:
SQL Server2000提供了两种触发器﹕Instead of 和After 触发器。
-
Instead of
Instead of触发器用于替代引起触发器执行的T-SQL语句。除表之外﹐Instead of 触发器也可以用于视图﹐用来扩展视图可以支持的更新操作。
-
After
After触发器在一个Insert,Update或Deleted语句之后执行﹐进行约束检查等动作都在After触发器被激活之前发生。After触发器只能用于表。一个表或视图的每一个修改动作(insert,update和delete)都可以有一个instead of 触发器﹐一个表的每个修改动作都可以有多个After触发器。