SQL SQL Server 的存储过程
什么是存储过程?
存储过程是可以保存的准备好的 SQL 代码,因此可以反复重复使用该代码。
因此,如果您有一个反复编写的 SQL 查询,请将其保存为存储过程,然后只需调用它即可执行。
您还可以将参数传递给存储过程,以便存储过程可以根据传递的参数值采取行动。
存储过程语法
创建过程 过程名称
作为
sql_语句
去;
执行存储过程
执行 过程名称;
演示数据库
以下是 Northwind 示例数据库中“客户”表的选集:
客户ID | 顾客姓名 | 联系人姓名 | 地址 | 城市 | 邮政编码 | 国家 |
---|---|---|---|---|---|---|
1 |
阿尔弗雷德·富特基斯特 | 玛丽亚·安德斯 | 大街 57 号 | 柏林 | 12209 | 德国 |
2 | Ana Trujillo 奉献和赞美 | 安娜·特鲁希略 | 阿夫达。 宪法 2222 | 墨西哥城 | 05021 | 墨西哥 |
3 | 安东尼奥莫雷诺卷饼店 | 安东尼奥·莫雷诺 | 斗牛场 2312 | 墨西哥城 | 05023 | 墨西哥 |
4 |
环合之角 | 托马斯·哈代 | 120 汉诺威广场 | 伦敦 | WA1 1DP | 英国 |
5 | 贝尔格伦德斯山口 | 克里斯蒂娜·伯格伦德 | 贝尔格维斯河 8 | 吕勒奥 | S-958 22 | 瑞典 |
存储过程示例
以下 SQL 语句创建一个名为“SelectAllCustomers”的存储过程,该存储过程从“Customers”表中选择所有记录:
例子
创建过程 SelectAllCustomers
作为
从客户中选择*
去;
执行上面的存储过程如下:
例子
EXEC 选择所有客户;
具有一个参数的存储过程
以下 SQL 语句创建一个存储过程,从“客户”表中选择来自特定城市的客户:
例子
创建过程 SelectAllCustomers @City nvarchar(30)
作为
从客户中选择 * 其中城市 = @City
去;
执行上面的存储过程如下:
例子
EXEC SelectAllCustomers @City ='伦敦';
具有多个参数的存储过程
设置多个参数非常简单。只需列出每个参数和数据类型并用逗号分隔,如下所示。
以下 SQL 语句创建一个存储过程,从“客户”表中选择具有特定邮政编码的特定城市的客户:
例子
创建过程 SelectAllCustomers @City nvarchar(30),@PostalCode nvarchar(10)
作为
从客户中选择 * 其中城市 = @City 且邮政编码 = @PostalCode
去;
执行上面的存储过程如下:
例子
EXEC SelectAllCustomers @City = '伦敦', @PostalCode = 'WA1 1DP';