在PL / SQL中创建验证

时间:2016-12-18 16:34:34

标签: validation plsql

如何验证订单?只有在订单(表格订单)不大于库存中的数量(表格产品)时才能验证它。它们位于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;

1 个答案:

答案 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;