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

パッケージを作成しようとしています-エラーPLS-00330

    エラーは、パッケージ本体の11行目に対して報告されます。これは

        RETURN NUMBER;
    

    数値はデータ型であり、変数名ではありません。ここに実際に何を返したいのかは明確ではありません。クエリを実行してキャプチャしているときに、おそらくLOCATION;ただし、これは文字列であるため、関数の戻り型も文字列である必要があります(つまり、VARCHAR2 NUMBERではなく )。おそらく:

    create or replace PACKAGE BODY e_con_pack
        AS
        FUNCTION 
        GET_LOCATION_namel (p_con_id in NUMBER, p_con_name out VARCHAR2)
        RETURN VARCHAR2 IS  
         LOCATION VARCHAR2(30);
        BEGIN
          SELECT LOCATION INTO LOCATION FROM LDS_CONSULTANT WHERE CONSULTANT_ID = p_con_id;    
          SELECT CST_NAME INTO p_con_name FROM LDS_CONSULTANT WHERE CONSULTANT_ID = p_con_id;
    
        RETURN LOCATION;
        END GET_LOCATION_namel;
    

    または、他の場所にあるように、列のデータ型を使用することをお勧めします:

    create or replace PACKAGE BODY e_con_pack
        AS
        FUNCTION 
        GET_LOCATION_namel (p_con_id in NUMBER, p_con_name out VARCHAR2)
        RETURN LDS_CONSULTANT.LOCATION%type IS  
         LOCATION LDS_CONSULTANT.LOCATION%type;
        BEGIN
    ...
    

    いずれにせよ、もちろん、それに合わせてパッケージ仕様を変更する必要があります。




    1. MariaDBでのTIMESTAMPDIFF()のしくみ

    2. VMwareでのCPUパフォーマンスのトラブルシューティング

    3. MYSQLcloseconnectは挿入アクティビティを停止できません

    4. ASP.NET/Identityエラー:エンティティタイプApplicationUserは、現在のコンテキストのモデルの一部ではありません