sql >> データベース >  >> RDS >> Oracle

タイプ:=Eの場合にのみ価格コードを尋ねる必要があります

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

    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; 
    



    1. xamppのアンインストール後にphpmyadminでデータベースを復元する方法

    2. 一般的なMySQLフィールドとそれらの適切なデータ型

    3. SQLまたはMySQLでJOINキーワードを使用しない結合に何か問題がありますか?

    4. SQLServer2008でのストアドプロシージャのデバッグ