创建一个存储过程pro_3,输入参数为图书名称,以输出参数的形式返回该图书的价格。如果该图书不存在,则返回价格为0。然后调用该存储过程,分别查询“三国演义”和“红楼梦”的价格。
时间: 2024-05-09 12:15:52 浏览: 62
创建存储过程pro_3如下:
```
CREATE PROCEDURE pro_3
@book_name VARCHAR(50),
@price DECIMAL(10,2) OUTPUT
AS
BEGIN
SELECT @price = ISNULL(price, 0)
FROM books
WHERE name = @book_name
END
```
其中,@book_name为输入参数,@price为输出参数。如果找到该图书,则将价格赋值给@price;否则将@price赋值为0。
调用该存储过程查询“三国演义”和“红楼梦”的价格:
```
DECLARE @price1 DECIMAL(10,2)
DECLARE @price2 DECIMAL(10,2)
EXEC pro_3 '三国演义', @price1 OUTPUT
EXEC pro_3 '红楼梦', @price2 OUTPUT
SELECT @price1 AS '三国演义价格', @price2 AS '红楼梦价格'
```
以上代码中,先声明两个变量@price1和@price2,分别用来存储查询结果。然后通过EXEC语句调用存储过程,将查询结果存储在相应的变量中。最后通过SELECT语句将两个价格输出。
阅读全文