当前位置:职场发展 > 数据库存储过程相关知识和语法

数据库存储过程相关知识和语法

  • 发布:2023-10-01 14:57

1:存储过程的概念

StoreProcedure 是 SQL Server 中重要的数据库对象。 -proc

将一些可以完成特定功能或者需要多次使用的函数写成子程序,并将子程序保存在SQL Server服务器中。用户可以通过子程序名来调用它们。

这些子例程是存储过程。

2:存储过程的特点

① 存储过程仅在创建时才进行编译。以后每次执行存储过程时不需要重新编译。一般T-SQL语句每次执行都会编译一次,因此使用存储过程可以提高数据库的执行速度。

② 当对数据库进行复杂操作时(如对多个表进行Update、Insert、Query、Delete),可以将这种复杂操作封装在存储过程中,与数据库提供的事务处理结合使用。

③存储过程可以重复使用。存储过程一旦创建,以后就可以在程序中多次调用。可以减轻数据库开发人员的工作量,提高程序的可维护性。

④ 减少网络流量。存储过程位于服务器上。调用时只需传递存储过程的名称和参数,从而减少了网络传输的数据量。

三:存储过程的分类

①系统存储过程

②临时存储过程

③用户自定义存储过程

④扩展存储过程

四:系统存储过程

1。常用的系统存储过程

五:用户自定义存储过程

--1。用户定义存储过程的语法

--创建proc存储过程名

--[参数列表]

--如

--开始

--具体业务逻辑

--完

--走

注:PROCEDURE是创建存储过程的关键字,可以缩写为PROC(通常使用缩写)。

存储过程名称需要符合T-SQL标识符规范。用户定义的存储过程名称最好不要以sp_和xp_开头,以免与系统存储过程和扩展存储过程混淆。

AS之后的T-SQL语句是体现存储过程功能的部分,是存储过程的核心部分。

2。执行存储过程

语法:

exec存储过程名称[实际参数列表]

执行存储过程只是将这些功能代码封装到命名的子例程中。

创建存储过程的语句执行后,不会调用其封装的功能性T-SQL语句。您只需要使用

EXECUTE 存储过程名称”命令执行存储过程。 EXECUTE也可以缩写为EXEC。

3。修改用户定义存储过程

语法:

--ALTER PROCEDURE 存储过程名称

--参数列表

--AS

--T-SQL语句

4。删除存储过程

--drop proc存储过程名称

六:用户自定义存储过程的参数

1。存储过程的参数有两种类型:输入参数和输出参数。

2。声明参数时需要提供以下4条信息。

:参数名称,与局部变量名称规范一致,需要@前缀;

②参数类型;

③参数默认值;

④参数的方向,表示该参数是输入参数还是输出参数。

注意:前两部分是必填的,后两部分是可选的。声明参数的语法格式如下。

在存储过程中声明参数,而不使用declare

参数名称 参数类型 = 默认值 参数方向,...N

3:输入参数的作用:

①输入参数接收外部数据,并将其带入存储过程内部的T-SQL语句中执行。输入参数将提高存储过程的功能通用性。

②声明输入参数时,无需指定参数方向。参数的默认方向是输入参数。

③ 声明输入参数时可以使用“=”操作符赋予初始值,也可以不赋予初始值。

4:执行带有输入参数的存储过程

执行带输入参数的存储过程时,需要给存储过程中的参数赋值实际的参数值。

使用实参向存储过程的输入参数传值有两种调用方式:使用参数名向参数传值;使用参数位置将值传递给参数。

5:输出参数特征

如果我们需要从存储过程返回一个或多个值,我们可以通过在创建存储过程的语句中定义输出参数来实现。

为了使用输出参数,您需要在创建存储过程时指定output关键字。

6:执行存储并输出参数

执行带输出参数的存储过程时,需要在执行存储过程语句之前定义变量,而从左侧向存储过程传递参数时,需要在代表实际参数后添加OUTPUT关键字输出参数位置,以便存储过程执行完毕后,将存储过程中输出参数的值传递给实际参数。

注意:执行带有输出参数的存储过程时,如果在表示输出参数的位置没有为实参指定OUTPUT,则不会出现运行时错误,但不会将输出参数的值传递给变量。进去吧。

相关文章