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

SQL FOR-IN(SELECT)ループで文字列変数の値を使用する

    OracleのPL/SQLを想定すると、REFCURSORを開くことができます。 動的文字列を使用して、LOOPで呼び出します。

    PROCEDURE run(p_boolean BOOLEAN)
    IS
    BEGIN
      DECLARE
        v_mystring VARCHAR(50);
        v_my_ref_cursor sys_refcursor;
      BEGIN
        IF p_boolean = TRUE
        THEN
          v_mystring := 'SELECT something...';
        ELSE
          v_mystring := 'SELECT something else...';
        END IF;
    
        OPEN v_my_ref_cursor FOR v_mystring;
    
        LOOP
          FETCH v_my_ref_cursor INTO your_variables/record
          EXIT WHEN v_my_ref_cursor%NOTFOUND;
            ..
    
        END LOOP;
        CLOSE v_my_ref_cursor;
    
      END;
    END;
    



    1. MySQLから特定のテーブルのみをダンプする方法は?

    2. SQLでの行パターン認識

    3. JDBC :メタデータから配列の型を取得する

    4. SQLステートメントでANDとORを組み合わせるにはどうすればよいですか?