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

pl/sqlの別のカーソルのselect文でカーソルの変数を使用する方法

    これを実現するには、動的SQLを使用する必要があります。次のようなもの:

    DECLARE
        TYPE cur_type IS REF CURSOR;
    
        CURSOR client_cur IS
            SELECT DISTING username
            FROM all_users
            WHERE length(username) = 3;
    
        emails_cur cur_type;
        l_cur_string VARCHAR2(128);
        l_email_id <type>;
        l_name <type>;
    BEGIN
        FOR client IN client_cur LOOP
            dbms_output.put_line('Client is '|| client.username);
            l_cur_string := 'SELECT id, name FROM '
                || client.username || '.org';
            OPEN emails_cur FOR l_cur_string;
            LOOP
                FETCH emails_cur INTO l_email_id, l_name;
                EXIT WHEN emails_cur%NOTFOUND;
                dbms_output.put_line('Org id is ' || l_email_id
                    || ' org name ' || l_name);
            END LOOP;
            CLOSE emails_cur;
        END LOOP;
    END;
    /
    

    編集済み 2つのエラーを修正し、 OPEN-FOR および例 。編集済み 内側のカーソルに文字列変数を照会させます。



    1. \ PDO ::ATTR_EMULATE_PREPARES=>trueの使用中にLaravelデータの不一致エラーが発生しました

    2. タイトルとして電子メールアドレスを使用してSQLテーブルを作成する

    3. 日付、時刻を挿入するためのPHPMySQL構文

    4. INコマンドを使用してSQLクエリで使用されるパラメータとして配列を渡す