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

PLS-00302:コンポーネントを宣言する必要があります - 解決できません

    試してみてください:

    begin
      for emp_complex_rec in (select e.fname,
                                     d.dlocation
                                from employee e
                                INNER JOIN dept_location d
                                  ON (e.dno = d.dnumber))
      loop
        dbms_output.put_line('The employee id is: ' ||
                             emp_complex_rec.rname ||
                             ' and the employee''s location is ' ||
                             emp_complex_rec.rlocation);
      end loop;
    end;
      

    元のコードの問題は、 emp_complex_rec の定義が 型が emp_complex_rec の定義と衝突していたため カーソルループ変数として。明示的なカーソル定義も必要ありません-IMOは SELECT を入れます FOR で ループはより簡単で明確です。

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



    1. 階層テーブルの子のルート親を取得

    2. これは、mysqlを使用して動的データをリアルタイムで双方向に同期するための最良の方法です

    3. PHPとMYSQLを使用してお気に入りのジョブリストを作成する

    4. 大規模なクエリ後にpsycopg2がメモリリークしている