10.1 SQL Server存储过程介绍

SQL Server存储过程的基本指南

简介

SQL Server存储过程将一个或多个T-SQL语句分为逻辑单元。存储过程存储在SQL Server数据库服务器中。

当第一次调用存储过程时,SQL Server会创建一个执行计划并将其存储在缓存中。在存储过程的后续执行中,SQL Server重用该计划,以快速可靠的性能执行存储过程。

创建一个简单的存储过程

以下SELECT语句从自行车商店数据库的products(产品)表中返回产品列表:

SELECT
product_name,
list_price
FROM
production.products
ORDER BY
product_name;

使用CREATE PROCEDURE语句创建一个包装上述SQL语句的存储过程:

CREATE PROCEDURE uspProductList
AS
BEGIN
SELECT
product_name,
list_price
FROM
production.products
ORDER BY
product_name;
END;

其中:
uspProductList是存储过程名字,AS关键字分隔存储过程的头部和主体部分。

如果存储过程只有一条语句,则该语句的开始的BEGIN和结尾的END关键字是可选的。
然而,通常都会写上,这样代码更清晰。

CREATE PROCEDURE可以缩写成CREATE PROC

要编译此存储过程,可以在SQL Server Management Studio中将其作为普通SQL语句执行,如下图所示:

执行成功:

Commands completed successfully.

这说明存储过程已成功编译并保存到数据库目录中。

可以在Programmability>Stored Procedures(可编程性>存储过程)下找到存储过程:

执行存储过程

EXECUTE sp_name;
--或者
EXEC sp_name

其中sp_name是存储过程名。

比如要执行存储过程uspProductList:

EXEC uspProductList;

存储过程输出:

修改存储过程

可以使用ALTER PROCEDURE语句

首先,右键单击存储过程名称并选择修改菜单项,打开存储过程以查看其内容:

其次,通过按价格而不是产品名称对产品进行排序来更改存储过程中的查询语句:

ALTER PROCEDURE uspProductList
AS
BEGIN
SELECT
product_name,
list_price
FROM
production.products
ORDER BY
list_price
END;

然后点击执行按钮执行:

Commands completed successfully.

现在,再次执行存储过程,将看到更改生效:

EXEC uspProductList;

删除存储过程

DROP PROCEDURE sp_name;
--或者
DROP PROC sp_name;
--比如删除uspProductList
DROP PROCEDURE uspProductList;
posted @   平元兄  阅读(586)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· DeepSeek “源神”启动!「GitHub 热点速览」
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
点击右上角即可分享
微信分享提示