[英]Stored procedure with if statement not working
我想创建一个存储过程来检查产品在purchase_info
表中是否有足够的数量。
这是我的代码。 但它不起作用,结果没有显示 if...else 查询。
任何人都可以帮我解决它吗? 谢谢你。
CREATE PROCEDURE dbo.usp_CheckProductStock
(@product_id varchar(50),
@color varchar(80),
@quantity int)
AS
BEGIN;
IF @quantity <= (SELECT purchase_quantity
FROM purchase_info
WHERE product_id = @product_id AND color = @color)
BEGIN
PRINT 'There is enough stock'
END
ELSE
BEGIN
SELECT product_id, color, purchase_quantity
FROM purchase_info
WHERE product_id = @product_id AND color = @color;
END
END;
EXEC dbo.usp_CheckProductStock @product_id='LF10001', @color='APR', @quantity=15
@quantity
参数的奇异值与SELECT
语句中的多行之间存在冲突。 所以它阻止了它们之间的比较。
请尝试更改if
子句逻辑如下:
IF EXISTS (SELECT purchase_quantity
from purchase_info
WHERE product_id = @product_id and color = @color
AND purchase_quantity <= @quantity)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.