kdykoli zavoláte proměnnou s ampersandem, související příkaz to vnímá jako parametr. Můžete to zavolat jako proceduru nebo funkci k potlačení takové odpovědi:
SQL> set serveroutput on;
SQL> CREATE OR REPLACE PROCEDURE MY_PROC( lv_price_num NUMBER, lv_type_txt VARCHAR2 ) IS
lv_disc_num NUMBER(3,2);
BEGIN
IF lv_type_txt = 'E' THEN
IF lv_price_num > 85 THEN
lv_disc_num := .20;
ELSIF lv_price_num > 45 THEN
lv_disc_num := .15;
ELSE lv_disc_num := .10;
END IF;
ELSIF lv_type_txt = 'C' THEN
lv_disc_num := .05;
ELSE lv_disc_num := 0;
END IF;
DBMS_OUTPUT.PUT_LINE(lv_disc_num);
END;