【数据库视频】第九章 存储过程

一、存储过程概述

是一组为了完成特定功能的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
今日推荐