存储过程
概念:
是一组事先编译好的Transact-SQL代码。存储过程作为一个独立的数据库对象,可以作为一个单元被用户的应用程序调用。
由于存储过程是已经编译好的代码,所以执行的时候不必再次进行编译,从而提高了程序的运行效率。
优点:
1、执行速度快。
2、模块化的程序设计。
3、减少网络通信量。
4、保证系统的安全性
注意:
延迟名称解析:
可以创建引用尚不存在的表的存储过程。在创建时,只进行语法检查。直到第一次执行该存储过程时,才对其进行编译。只有在编译过程中才解析存储过程中引用的所有对象。
因此,如果语法正确的存储过程引用了不存在的表,则仍可以成功创建;但如果被引用的表不存在,则存储过程将在运行时失败。
创建存储过程:
CREATE PROCEDURE dbo.rp_test
AS
BEGIN
SELECT name from table1;
SELECT name from table2;
END
go
修改:
ALTER PROCEDURE procedure_name
[{@参数名 数据类型}
[=default][OUTPUT]
][,…n]
AS
SQL语句
go
删除:
DROP PROCEDURE procedure_name ;
执行:
DECLARE @score_out INT
EXEC test_schema.rp_test @ i_id = 10, @ i_names = '张三', @ o_score = @score_out OUTPUT
SELECT @score_out
查看:
(1):查看sp(存储过程)属性,比如何时创建,传入的参数类型,长度等信息
sp_help sp名称
(2)查看sp源码,当然更加建议用插件查看,更快速
sp_helptext sp名称