T-SQL存储过程
在Transact SQL中,存储过程用于节省重复编写代码的时间。这是通过将过程存储在数据库中,并通过传递参数获取所需的输出来实现的。
语法:
下面是创建存储过程的语法。
Create procedure <procedure_Name> 
As 
Begin 
<SQL Statement> 
End 
Go
参数可选:当我们创建存储过程时,会向过程传递一个或多个参数。存储过程有 3 种类型的参数:
- IN – 过程可以引用参数。过程将覆盖参数的值。
 - OUT – 过程不能引用参数,但是过程覆盖参数值。
 - IN OUT – 过程引用参数,且过程覆盖参数的值。
 
declaration_section
程序中的declaration_section是我们声明section中的本地变量。
executable_section
在executable_section中,我们输入程序代码的过程。
示例:
查看CUSTOMERS表中有以下记录。
| ID | NAME | AGE | ADDRESS | SALARY | 
|---|---|---|---|---|
| 1 | Hamilton | 23 | Australia | 34000 | 
| 2 | Warner | 34 | England | 22000 | 
| 3 | Martin | 28 | China | 25000 | 
| 4 | Twinkle | 30 | Turkey | 50000 | 
| 5 | Tinu | 32 | Nepal | 45000 | 
| 6 | Michal | 31 | Bhutan | 20000 | 
| 7 | Harper | 20 | Bangladesh | 15000 | 
以下命令是示例,将从testdb数据库中的CUSTOMERS表获取所有记录。
CREATE PROCEDURE SelectCustomerstabledata 
AS 
SELECT * FROM Testdb.Customers 
GO
该命令将生成以下输出。
| ID | NAME | AGE | ADDRESS | SALARY | 
|---|---|---|---|---|
| 1 | Hamilton | 23 | Australia | 34000 | 
| 2 | Warner | 34 | England | 22000 | 
| 3 | Martin | 28 | China | 25000 | 
| 4 | Twinkle | 30 | Turkey | 50000 | 
| 5 | Tinu | 32 | Nepal | 45000 | 
| 6 | Michal | 31 | Bhutan | 20000 | 
| 7 | Harper | 20 | Bangladesh | 15000 | 
极客教程