我有一个带有一个参数的存储过程,即cart_id。发生的奇怪事情是,当我使用硬编码的cart_id运行此存储过程时,它返回正确的值。
BEGIN
SELECT SUM(COALESCE(NULLIF(p.discounted_price,0),p.price)*sc.quantity) AS
total_amount FROM shopping_cart sc INNER JOIN product p ON p.product_id
sc.product_id WHERE sc.buy_now AND sc.cart_id = 'nhcjdUjHgttG67Hgbvf4fGhygHnJJi';
END
但是当我使用参数中的值时,它将返回null!我不知道发生了什么事。
BEGIN
SELECT SUM(COALESCE(NULLIF(p.discounted_price,0),p.price)
*sc.quantity) AS total_amount
FROM shopping_cart sc INNER JOIN product p ON p.product_id = sc.product_id
WHERE sc.buy_now AND sc.cart_id = inCartId;
END