SQL Server 基于输入和输出参数对存储过程的分类

2024年8月29日 | 阅读 7 分钟

引言

今天,我们将学习 SQL (Structured Query Language) Server 中的另一个主题,它也被称为 Microsoft SQL Server。主题是关于 SQL Server 中的存储过程。该主题生动而深入地解释了 SQL Server 中使用的输入和输出参数。没有这些参数,SQL Server 中的存储函数或存储过程概念将无法运行或使用。

Stored Procedure

存储过程用于减少 SQL Server 中的冗余概念。有时会出现为了获得输出结果而重复编写相同代码的情况。在这种情况下,我们使用存储过程。在 Oracle SQL Server 中,此存储过程称为函数。这给 SQL 开发人员带来了极大的便利。

此存储过程概念与其他编程语言中的函数或方法相似。在那些语言中,您将在程序或其他程序中创建它们。然后,在需要时,我们将调用它们并使用它们的资源。我们可以无限次地调用它们。

SQL Server 中的过程语法

示例 1(无参数)

示例 2(带参数)

SQL Server 存储过程参数的类型

存储过程参数概念中有两种类型的参数。它们是

  1. 带参数
  2. 无参数

带参数概念也分为两类。它们是

  1. 动态参数或输入参数
  2. 静态参数或输出参数

首先,让我们学习在 SQL Server 中不带参数执行的存储过程。

SQL Server 不带参数执行的存储过程

在 SQL Server 中创建的、不带任何参数的存储过程称为 SQL Server 无参数存储过程。

语法

示例 1

输出

ID   NAME                       SAL       COMMISION_PERCENTAGE   	MONTHLY_SALARY
_ _   _ _ _ _ _ _ _ _        _ _ _    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _  _ _ _ _ _ _ _ _ _ _ _ _
 1    Joe Root               75000          	0.15                    		86250
 2    Ros Taylor          	90000           	0.1                     		99000
 3    Paul Adams       	    50000         		0.01                    		50500
 4    Victor Lee          	43000          		0                       		43000
 5    Matt Potts        	20000          		0                       		20000
 6    James Anderson        200000        		0.33                   		    266000
 7    Craig Overton         11000          		0                       		11000
 8    Rory Burns             9000               0                      			 9000
(8 rows affected)

示例 2

输出

SID	 SNAME             SAL        AGE
_ _ _	 _ _ _ _ _       _ _ _ _    _ _ _ _ 
 1	 mahi               12         	 40
 2 	kohli               14           33
 3	 DK                 6.25         33
 4 	warner              6.75         33
 5 	rahul               16           29
 6 	pandya              14           27
 (6 rows affected)

SQL Server 带参数执行的存储过程

在 SQL Server 中创建的、带任何参数的存储过程称为 SQL Server 带参数存储过程。使用的参数数量取决于我们的兴趣。

语法

示例

输出

                                   				Result
_ _ _ _ _       _ _ _ _ _ _ _ _      _ _ _ _     _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _  
          	1 	       miller                 33                  	    8.5999999999999996

我们都知道,SQL Server 带参数执行的存储过程类型又分为两种。它们是

  1. 动态参数或输入参数
  2. 静态参数或输出参数

SQL Server 带输入参数执行的存储过程

在 SQL Server 中创建的、带任何参数的存储过程称为 SQL Server 带参数存储过程。使用的参数数量取决于我们的兴趣。

如果在给定的 EXEC 语句中提供了参数,则传递的参数称为 SQL Server 存储过程输入参数。

这些条件使得上述 SQL Server 带参数存储过程变为 SQL Server 带输入参数执行的存储过程。

输入参数语法

示例

Empdeets 表

输出

ID   NAME                       SAL      TOTAL_SALARY                          		 ROLE
_ _   _ _ _ _ _ _ _ _        _ _ _    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _  _ _ _ _ _ _ _ _ _ _ _ _
 1    Joe Root              75000          		75000                    		TECHIE
 2    Ros Taylor          	90000           	90000		                     TECHIE
 4    Victor Lee          	43000          	    43000                            TECHIE
 5    Matt Potts        	20000          		20000                            TECHIE
 6    James Anderson        200000              200000        		             TECHIE

SQL Server 带输出参数执行的存储过程

在 SQL Server 中创建的、带任何参数的存储过程称为 SQL Server 带参数存储过程。使用的参数数量取决于我们的兴趣。

这里,在过程中提到的参数用 out 语句表示,然后该参数就变成了 SQL Server 带输出参数的存储过程。

如果在给定的 EXEC 语句中提供了参数,则传递的参数称为 SQL Server 存储过程输出参数。

这些条件使得上述 SQL Server 带参数存储过程变为 SQL Server 带输出参数执行的存储过程。

输出参数语法

示例

Empdeets 表

输出

Employees born on
_ _ _ _ _ _ _ _ _ _ _
		6

SQL Server 同时带输入和输出参数执行的存储过程

在 SQL Server 中创建的、带任何参数的存储过程称为 SQL Server 带参数存储过程。使用的参数数量取决于我们的兴趣。

这里,在过程中提到的参数用 out 语句表示,然后该参数就变成了 SQL Server 带输出参数的存储过程。

如果在给定的 EXEC 语句中提供了参数,则传递的参数称为 SQL Server 存储过程输出参数。

这些任一条件都使得上述 SQL Server 带参数存储过程变为 SQL Server 带输出或输入参数执行的存储过程。

如果同时提到了输入和输出类型的参数,则 SQL Server 存储过程就变成了 SQL Server 同时带输入和输出参数执行的存储过程。

输出参数语法

以上就是 SQL Server 根据输入和输出参数对存储过程的分类。