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

Oracle のストアド プロシージャのデフォルト値

    デフォルト値は、引数が指定されていない場合にのみ使用されます。あなたの場合、した 引数を指定します - 両方とも NULL の値で指定されました。 (はい、この場合、NULL は実際の値と見なされます :-)。試してみてください:

    EXEC TEST()
    

    共有して楽しんでください。

    補遺 :プロシージャ パラメータのデフォルト値は、システム テーブルのどこかに確実に埋め込まれています (SYS.ALL_ARGUMENTS を参照してください)。 しかし、ビューからデフォルト値を取得するには、LONG フィールドからテキストを抽出する必要があり、おそらく、その価値よりも苦痛であることが判明するでしょう。 簡単 方法は、手順にコードを追加することです:

    CREATE OR REPLACE PROCEDURE TEST(X IN VARCHAR2 DEFAULT 'P',
                                     Y IN NUMBER DEFAULT 1)
    AS
      varX VARCHAR2(32767) := NVL(X, 'P');
      varY NUMBER          := NVL(Y, 1);
    BEGIN
      DBMS_OUTPUT.PUT_LINE('X=' || varX || ' -- ' || 'Y=' || varY);
    END TEST;
    


    1. mysql-utilitiesから何も実行できません:mysql.utilities.common.toolsという名前のモジュールがありません

    2. 無効な引数が、airflowを使用してmysqlデータをbigqueryにロードするdagのエラーを渡しました

    3. Pythondictを使用してMySQLのテーブルを更新する

    4. 1行目の''付近の不思議なMySQLエラー