【数据库视频】第九章 存储过程
其他
2018-11-28 03:02:59
阅读次数: 0
一、存储过程概述
是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。存储过程可包含程序流、逻辑以及对数据库的查询。他们可以接收参数、输出参数、返回单个或者多个结果集以及返回值。
种类:
二、创建存储过程
语法格式:
-
CREATE PROC[EDURE] procedure_name[;number]
-
[ {@parameter data_type}
-
[VARYING] [=default] [OUTPUT] {,…n]
-
[WITH
-
{RECOMPILE | ENCRYPTION | RECOMPILE,ENCRYPTION}]
-
AS
-
Sql_statement[…n]
三、使用输出函数
declare @sorce1 int
exec P_sorce @name='李军',@sorce=@sorce1 output
print @sorce1
四、修改存储示例
语法格式:
-
ALTER PROCEDURE procedure_name[;number]
-
[ {@parameter data_type}
-
[VARYING] [=default] [OUTPUT] {,…n]
-
[WITH
-
{RECOMPILE | ENCRYPTION | RECOMPILE,ENCRYPTION}]
-
AS
-
Sql_statement[…n]
修改存储过程的操作:可编程性——存储过程——右击具体的存储过程——修改
获取存储过程的创建语句的操作:右击具体的存储过程——编写存储过程脚本为——CREATE到——新查询编辑器窗口
获取删除存储过程的语句的操作:右击具体的存储过程——编写存储过程脚本为——DROP到——新查询编辑器窗口
五、删除存储过程
DROP PROCEDURE{procefure}[,…n]
方式:①右击删除,单击确定按钮
②DROP命令
③编写存储过程脚本为DROP
六、设计存储过程的规则
规则:
-
可以引用在同一存储过程中创建的对象,只要引用时已经创建了该对象即可;
-
可以在存储过程内引用临时表。如果在存储过程内创建本地临时表,则临时表仅为该存储过程而存在;退出该存储过程后,临时表将消失。
-
如果执行的存储过程将调用另一个存储过程,则被调用的存储过程可以访问由第一个存储过程创建的所有对象,包括临时表在内。
-
如果执行对远程实例进行更改的远程存储过程,则不能回滚这些更改。远程存储过程不参与事务处理。
-
存储过程中的参数的最大数目为2100
-
存储过程中的局部变量的最大数目仅受可用内存的限制
-
根据可用内存的不同,存储过程最大可达128MB
不能包括的T-SQL语句:
CREATE AGGREGATE |
CREATE RULE |
CREATE DEFAULT |
CREATE SCHEMA |
CREATE或者ALTER FUNCTION |
CREATE或者ALTER TRIGGER |
SET PARSEONLY |
SET SHOWPLAN_ALL |
SET SHOWPLAN_TEXT |
SET SHOWPLAN_XML |
USE Database_name |
|
七、临时存储过程
#局部
##全局
八、查看存储过程
方式:①右击具体的存储过程——编写存储过程脚本为——CREATE到——新查询编辑器窗口
②使用系统的存储过程 例:exec sp_helptext get_student
转载自blog.csdn.net/hsm_Jasmine/article/details/84453514