如何验证订单?只有在订单(表格订单)不大于库存中的数量(表格产品)时才能验证它。它们位于2个独立的表格中,如paranthesis之间所述。这是我能想到的。
declare prod number; order number;
begin
select qty into prod from products;
end;
begin
select qty into order from orders;
end;
if order <= prod then
return true;
else
return false;
end if;
答案 0 :(得分:1)
尽量不要使用“关键词”之类的变量,例如“ORDER”或其他东西,因为在某些情况下你的陈述不起作用。只需为它们设置前缀,如 - l_order(局部变量)或v_order(变量)。你也可能需要在没有找到数据的情况下使用异常,所以就像那样:
CREATE OR REPLACE FUNCTION is_enough_product RETURN BOOLEAN AS
l_prod NUMBER;
l_ORDER NUMBER;
BEGIN
BEGIN
SELECT qty
INTO l_prod
FROM products;
EXCEPTION
WHEN no_data_found THEN
l_prod := 0;
END;
BEGIN
SELECT qty
INTO l_ORDER
FROM orders;
EXCEPTION
WHEN no_data_found THEN
l_ORDER := 0;
END;
IF l_ORDER <= l_prod THEN
RETURN TRUE;
ELSE
RETURN FALSE;
END IF;
END;