0

I am working on a query in pl/sql. I've almost same named columns like column1, column2, column3.

In Cursor, how can i get value of these columns using dynamically name.

My query:

FOR Cursor_r IN Cursor_c LOOP
    BEGIN 

        IF Cursor_r.column1 = 'dummy1' THEN 
             MyProc(Cursor_r.column1);
        ELSIF Cursor_r.column1 = 'dummy2' THEN
             MyProc(Cursor_r.column2);
        ELSIF Cursor_r.column1 = 'dummy3' THEN
             MyProc(Cursor_r.column3);
        END IF;

    END; 
END LOOP;

I need any dynamically structure solution for these columns.

It won't work but FOR EXAMPLE like this or another solution:

Cursor_r.column||1 Cursor_r.column||2

Thanks.

junior
  • 1
  • 1

1 Answers1

0

You can't do that. You could do this instead:

FOR Cursor_r IN Cursor_c LOOP
    BEGIN 
        MyProc
            ( CASE Cursor_r.column1
                  WHEN 'dummy1' THEN Cursor_r.column1
                  WHEN 'dummy2' THEN Cursor_r.column2
                  WHEN 'dummy3' THEN Cursor_r.column3
                  END
             );
    END; 
END LOOP;
Tony Andrews
  • 129,880
  • 21
  • 220
  • 259