菜单
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

SQL 教程

SQL HOME SQL Intro SQL Syntax SQL Select SQL Select Distinct SQL Where SQL Order By SQL And SQL Or SQL Not SQL Insert Into SQL Null Values SQL Update SQL Delete SQL Select Top SQL Aggregate Functions SQL Min and Max SQL Count SQL Sum SQL Avg SQL Like SQL Wildcards SQL In SQL Between SQL Aliases SQL Joins SQL Inner Join SQL Left Join SQL Right Join SQL Full Join SQL Self Join SQL Union SQL Group By SQL Having SQL Exists SQL Any, All SQL Select Into SQL Insert Into Select SQL Case SQL Null Functions SQL Stored Procedures SQL Comments SQL Operators

SQL 数据库

SQL Create DB SQL Drop DB SQL Backup DB SQL Create Table SQL Drop Table SQL Alter Table SQL Constraints SQL Not Null SQL Unique SQL Primary Key SQL Foreign Key SQL Check SQL Default SQL Index SQL Auto Increment SQL Dates SQL Views SQL Injection SQL Hosting SQL Data Types

SQL 参考

SQL 关键字 MySQL 函数 SQL Server 函数 MS Access 函数 SQL 快速参考

SQL 示例

SQL 示例 SQL 编辑器 SQL 测验 SQL 练习 SQL Server SQL Bootcamp SQL 证书

SQL SQL Server 存储过程


什么是存储过程?

存储过程是预先准备好的 SQL 代码,您可以保存它,以便代码可以一次又一次地重用。

因此,如果您有一个需要反复编写的 SQL 查询,请将其保存为存储过程,然后只需调用它来执行。

您还可以向存储过程传递参数,以便存储过程可以根据传递的参数值起作用。

存储过程语法

CREATE PROCEDURE procedure_name
AS
sql_statement
GO;

执行存储过程

EXEC procedure_name;

演示数据库

以下是 Northwind 示例数据库中“Customers”表的选段

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4

Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

存储过程示例

以下 SQL 语句创建一个名为“SelectAllCustomers”的存储过程,该过程从“Customers”表中选择所有记录

示例

CREATE PROCEDURE SelectAllCustomers
AS
SELECT * FROM Customers
GO;

如下执行上面的存储过程

示例

EXEC SelectAllCustomers;


带一个参数的存储过程

以下 SQL 语句创建一个存储过程,该过程从“Customers”表中选择特定城市的客户

示例

CREATE PROCEDURE SelectAllCustomers @City nvarchar(30)
AS
SELECT * FROM Customers WHERE City = @City
GO;

如下执行上面的存储过程

示例

EXEC SelectAllCustomers @City = 'London';

带多个参数的存储过程

设置多个参数非常简单。只需列出每个参数和数据类型,用逗号分隔,如下所示。

以下 SQL 语句创建一个存储过程,该过程从“Customers”表中选择特定城市和特定邮政编码的客户

示例

CREATE PROCEDURE SelectAllCustomers @City nvarchar(30), @PostalCode nvarchar(10)
AS
SELECT * FROM Customers WHERE City = @City AND PostalCode = @PostalCode
GO;

如下执行上面的存储过程

示例

EXEC SelectAllCustomers @City = 'London', @PostalCode = 'WA1 1DP';

×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持