如果在看之前,你有一定的编程基础,这个东西就相当于一个函数
类型:
- 系统存储过程,存储在master数据库中,可以作为命令执行各种操作,以sp_开头。
- 用户自定义的存储过程:用户创建,具有一定功能。
所以说,千万不能在数据库中定义一个已sp_开头的存储过程
特点
- 代码重用性
- 高速性
第一次被执行后,就驻留在内存中。以后执行就省去了重新分析、优化、编译的过程。 - 减少网络通信量
一条语句就能执行一个存储过程。 - 安全性
通过隔离和加密的方法提高了数据库的安全性,通过授权可以让用户只能执行存储过程而不能直接访问数据库对象。
创建
CREATE PROC[EDURE] procedure_name[;number]
[@parameter data_type [=default] ][,…n]
AS sql_statement[,…n]
- Procedure_name:指定存储过程的名称;
- Number:对同名的存储过程指定一个序号;
- @parameter date_type [=default] :指定存储过程的参数。 Parameter为参数名称, date_type参数的数据类型, [=default] 用于指定参数的默认值。默认值必须是常数或空值。
- AS sql_statement:过程中要包含的T-SQL语句
示例:显示学生平均分
create procedure student_avg
as
select id,avg(grade)
from score
group