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

Oracle PL/SQLでOPEN...FOR動的SQL構造を使用するときに、同じバインド変数を複数回繰り返す

    USING句にパラメータを2回含める必要があります:

     OPEN emp_cv FOR sql_stmt USING my_job, my_job;
    

    これがあなたの例ですが、単純化されています:

    DECLARE
       TYPE EmpCurTyp IS REF CURSOR;
       emp_cv   EmpCurTyp;
       emp_rec  varchar2(10);
       sql_stmt VARCHAR2(200);
       my_job   VARCHAR2(15) := 'X';
    BEGIN
    
       OPEN emp_cv FOR 'select * from dual where dummy = :j or dummy = :j' 
        USING my_job, my_job;
       LOOP
          FETCH emp_cv INTO emp_rec;
          EXIT WHEN emp_cv%NOTFOUND;
       END LOOP;
       CLOSE emp_cv;
    END;
    


    1. 行内の標準偏差を選択するにはどうすればよいですか? (SQLの場合-またはR :)

    2. PostgreSQLのAVG()関数

    3. 各従業員のすべてのパンチインとパンチアウトを取得しますか?

    4. Npgsqlを使用したEntityFramework6