SQL数据库存储过程output用法
时间: 2024-11-06 16:17:19 浏览: 18
SQL数据库的存储过程(output)主要是为了返回查询结果或者操作后的数据给调用者。`OUTPUT`关键字通常用于参数部分,表示某个参数将作为结果集返回。这里以MySQL和SQL Server为例:
1. **MySQL**: 在MySQL中,你可以像这样定义一个输出参数:
```sql
CREATE PROCEDURE GetUserDetails(IN user_id INT, OUT user_name VARCHAR(50))
BEGIN
SELECT name INTO user_name FROM users WHERE id = user_id;
END;
```
调用时,需要指定变量来接收返回值:
```sql
SET @new_user_name = '';
CALL GetUserDetails(1, @new_user_name);
SELECT @new_user_name; -- 输出用户名字
```
2. **SQL Server**: 在SQL Server中,输出参数声明类似:
```sql
CREATE PROCEDURE GetUserDetails @userId INT OUTPUT
AS
BEGIN
SELECT name INTO @userId FROM users WHERE id = @userId;
END;
```
调用时,可以这样获取结果:
```sql
DECLARE @resultName NVARCHAR(50);
EXEC GetUserDetails @userId = @resultName OUTPUT;
SELECT @resultName; -- 输出用户名字
```
阅读全文