视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
数据库对象存储过程轻松走进数据库系列八
2020-11-09 08:11:41 责编:小采
文档


存储过程概念 存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可执行或由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。存储过程一旦创建,在服

存储过程概念

存储过程是 SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可执行或由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。存储过程一旦创建,在服务器上即被编译,可以在需要时执行多次,有效的提高了执行效率。

存储过程的分类:系统存储过程和用户存储过程 。

系统存储过程存储在master数据库中,且以sp_为前缀。在其他数据库中可以直接调用,不必指明数据库名

存储过程的优点

可以在单个存储过程中执行一系列 SQL 语句。

可以从自己的存储过程内引用其它存储过程,这可以简化一系列复杂语句。

和函数的区别

执行的本质都一样。函数的比较多。具体如下;

1、返回值:函数只能返回值或者表对象而且是一个;而存储过程可以返回参数,返回单个或多个结果集以及返回值。

2、调用:函数是可以作为查询语句的一个部分来调用,所以可以嵌入在sql中使用,可以在select中调用;

由于函数可以返回一个表对象,因此它可以在查询语句中位于FROM关键字的后面;

而存储过程作为一个的部分来执行。

3、数据来源;函数不能用临时表,只能用表变量;而存储过程的相对就比较少 。

实现功能:存储过程实现的功能要复杂一点;而函数的实现的功能针对性比较强。

主要讲用户存储过程的操作和调用

管理存储过程的操作

1、创建存储过程:创建一个和创建一组。

步骤:1、判断存储过程是否存在,若存在,先删除存储过程。

2、创建存储过程。

语法:(1)创建一个存储过程

if exists (sql语句)

Drop procedure proname

Go

'开始创建

Create procedure proname [参数列表(参数名,数据类型,默认值)[output]]

[with recompile|encryption]

As

(2)创建一组存储过程。用一个例子来说明吧!

使用“;”和 数字来创建了一组存储过程。

执行时,可以单独执行其中的一个,写明存储过程名,分号,和数字。例:execute group_sp;3

但是不可以单独删除某个存储过程,要删除只能一起删除。

2、修改存储过程:只把定义中的create改成alter即可。

3、删除存储过程:drop procedure proname

4、查看存储过程:sp_helptext <存储过程名> 查看存储过程的文本,

sp_depends <对象名> 查看存储过程的饮用对象。

sp_help 显示所有相关信息。

5、重命名存储过程:sp_rename '<原名>','<新名>'

调用存储过程

调用、参数传入、返回值。

调用:使用语句execute。

参数传入;按位传入:按照声明时的顺序传入;

按引用传入:按照参数的名字传入,书写参数时可一不安顺序来写。

返回值:return 和output

两者没有区别:只是声明不同。return出现在定义完存储过程后。Return @变量名

而output是在创建存储过程定义变量时,写在要变量之后: @变量名 output

注意:1、参数变量前都需要加@。

2、调用时,如果存储过程是批处理的第一条语句,可以不使用execute关键字,直接用存储过程铭来执行。

3、传值时,@变量名=default或者不写,使用定义时的默认值。

4、两种传值方式不可以混用。

触发器时特殊的存储过程,触发器是由事件触发的,而存储过程是单独执行或由程序调用的。

下载本文
显示全文
专题