数据库编程形参和实参
时间: 2025-01-06 19:50:39 浏览: 4
在数据库编程中,形参和实参是两个重要的概念,它们在存储过程、函数和触发器的创建和使用中起着关键作用。
1. **形参(Formal Parameter)**:
- 形参是在定义存储过程、函数或触发器时声明的参数。它们是占位符,用于接收调用时传入的值。
- 形参可以有数据类型和默认值。
- 例如,在定义一个存储过程时,可以声明形参如下:
```sql
CREATE PROCEDURE GetEmployeeInfo (@EmployeeID INT)
AS
BEGIN
SELECT * FROM Employees WHERE EmployeeID = @EmployeeID;
END;
```
在这个例子中,`@EmployeeID` 是一个形参。
2. **实参(Actual Parameter)**:
- 实参是在调用存储过程、函数或触发器时实际传入的值。它们用于填充形参。
- 实参可以是常量、变量或表达式。
- 例如,在调用上述存储过程时,可以传入实参如下:
```sql
DECLARE @EmpID INT;
SET @EmpID = 101;
EXEC GetEmployeeInfo @EmpID;
```
在这个例子中,`@EmpID` 是一个实参。
### 形参和实参的区别
- **定义位置**:形参在定义存储过程、函数或触发器时声明;实参在调用时传入。
- **作用**:形参用于接收调用时传入的值;实参用于传递具体的值给形参。
### 示例
假设我们有一个存储过程,用于根据员工ID查询员工信息:
```sql
CREATE PROCEDURE GetEmployeeInfo (@EmployeeID INT)
AS
BEGIN
SELECT * FROM Employees WHERE EmployeeID = @EmployeeID;
END;
```
调用这个存储过程时,我们需要传入一个实参:
```sql
DECLARE @EmpID INT;
SET @EmpID = 101;
EXEC GetEmployeeInfo @EmpID;
```
在这个例子中,`@EmployeeID` 是形参,`@EmpID` 是实参。
阅读全文