アンパサンドを使用して変数を呼び出すと、関連するステートメントはそれをパラメーターとして認識します。このような応答を抑制するためのプロシージャまたは関数として呼び出すことができます:
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;