我正在使用pl / sql进行查询。我的命名列几乎与 column1,column2,column3 相同。
在Cursor中,如何使用动态名称获取这些列的值。
我的查询:
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
感谢。
答案 0 :(得分:0)
你做不到。你可以这样做:
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;