如何在 SQL Server 中创建存储过程

发布于

在 SQL Server 中创建存储过程:

  1. 单击“SSMS”工具栏New Query
  2. 键入(或粘贴)语句(下面的示例)CREATE PROCEDURE
  3. 单击工具栏上的按钮Execute

这会将存储过程添加到数据库中。可以在对象资源管理器中的“存储过程”节点下看到它。

以下是上述步骤的屏幕截图和更多详细信息。

新建查询

在 SSMS 工具栏中单击:New Query

突出显示“新建查询”按钮的 SSMS 屏幕截图 (SQL Server 2014)

突出显示了带有“新建查询”按钮的 SSMS。

创建过程语句

键入语句。CREATE PROCEDURE

例

下面是一个语句示例:CREATE PROCEDURE

CREATE PROCEDURE LatestTasks @Count int AS SET ROWCOUNT @Count SELECT TaskName AS LatestTasks, DateCreated FROM Tasks ORDER BY DateCreated DESC

此脚本创建一个名为 LatestTasks 的存储过程,该过程接受名为 Count 的参数。

如何编写创建过程语句

你用 CREATE PROCEDURE [procedure_name] as 开始你的脚本。

例如,若要创建名为 GetCustomer 的存储过程,请从以下内容开始:

CREATE PROCEDURE GetCustomer AS

接下来是存储过程的 SQL 代码,就像上面的示例一样。

如果存储过程要接受参数,请将这些参数及其数据类型添加到第一行。在参数名称前面加上符号。@

例如,要添加数据类型为整数的名为 CustomerId 的参数:

CREATE PROCEDURE GetCustomer @CustomerId int AS

执行语句

单击工具栏上的按钮以运行创建存储过程的 SQL 语句。Execute

或者,按键盘上的键。F5

现在,您应该会在对象资源管理器中看到存储过程。

展开了“存储过程”节点的对象资源管理器的屏幕截图。

存储过程显示在对象资源管理器中的“存储过程”节点下。

执行存储过程

若要执行或调用存储过程,请使用 或 命令(两者都执行相同的操作)。EXECUTE``EXEC

所以可能是这样的:

EXECUTE GetCustomer @CustomerId = 7

或者这个:

EXEC GetCustomer @CustomerId = 7

上面传递了一个名为 CustomerId 的参数,其值为 7。更改此值将处理不同的客户。

以下屏幕截图显示了传递不同参数的效果。两个语句针对同一存储过程运行,但每个语句传递不同的参数值:EXEC

使用不同参数在 SQL Server 中执行存储过程的屏幕截图。

两个语句执行相同的存储过程,但参数值不同。在此特定存储过程中,参数确定返回的记录数。

从 GUI 执行存储过程

可以直接从 SSMS GUI 中的对象资源管理器调用存储过程。

只需右键单击存储过程并选择:Execute Stored Procedure…

从 SQL Server 2014 中的对象资源管理器执行存储过程的屏幕截图。

从对象资源管理器中选择“执行存储过程”选项。

这将导致出现以下“执行过程”对话框,您可以在其中为存储过程将使用的任何参数提供值:

SQL Server 2014 中“执行过程”屏幕的屏幕截图。

[执行程序]页面。您可以在此屏幕上提供任何参数的值。