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 |