1,使用存储过程的优点:
- 存储过程在服务器端运行,执行速度快。
- 存储过程执行一次后,其执行规划就驻留在高速缓冲存储器,在以后的操作中,只需从高速缓冲器中调用已编译好的二进制代码执行,提高了系统性能。
- 确保数据库的安全。使用存储过程可以完成所有数据库操作,并通过编程方式控制上述操作对数据库信息访问的权限。
- 自动完成需要预先执行的任务。存储过程可以在系统启动时自动执行,完成一些需要预先执行的任务,而不必在系统启动后再进行手工操作,大大方便了用户的使用。
2,存储过程的创建与执行
创建存储过程的语法格式:
Create Procedure procedure_name //定义存储过程名
[@parameter data_type] //定义参数的类型
As sql_statement //执行的操作
其中:@parameter定义了存储过程的形参,形参局部于该存储过程。
执行存储过程的语法格式:
Exec procedure_name
3,存储过程注意要点:
- 用户定义的存储过程只能在当前数据库中创建(临时过程除外,临时过程总是在tempdb中创建)。
- 成功执行Create Procedure语句后,过程名称存储在sysobjects系统表中,而Create Procedure语句的文本存储在syscomments中。
- 自动执行存储过程。SQL Server启动时可以自动执行一个或多个存储过程。这些存储过程必须由系统管理员在master数据库中创建,并在sysadmin固定服务器角色下作为后台过程执行。这些过程不能有任何输入参数。
4,创建存储过程前可以先检查是否已存在同名的存储过程,若有,删除:
IF Exists(select name from sysobjects where name =‘定义的存储过程名’ and type=‘P’)
Drop Procedure 该存储过程名