Динамическое имя столбца в Cursor PLSQL-Oracle
Я работаю над запросом в pl/sql. У меня почти такие же именованные столбцы, как column1, column2, column3.
В Курсоре, как я могу получить значение этих столбцов, используя динамическое имя.
Мой запрос:
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;
Мне нужно любое динамически структурированное решение для этих столбцов.
Это не будет работать, но, например, как это или другое решение:
Cursor_r.column||1
Cursor_r.column||2
Благодарю.
1 ответ
Вы не можете сделать это. Вы могли бы сделать это вместо этого:
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;