1
我必须使用字符串变量作为列名如下:字符串变量作为列名
declare
lv_emp_row emp%rowrtype;
lv_str VARCHAR2(1000);
cursor c1 is select 'ENAME' COLUMN_NAME, 'AAA' COLUMN_VALUE FROM DUAL;
begin
select *
into lv_emp_row
from emp
where empid=101;
lv_emp_row.empid=201;
FOR V_C1 IN C1
LOOP
lv_str := 'lv_emp_row.'||V_C1.COLUMN_NAME || ':= '||V_C1.COLUMN_VALUE;
EXECUTE IMMEDIATE lv_str;
END LOOP;
INSERT INTO emp VALUES lv_emp_row;
end;
/
为什么这是不工作?
可以先使它看起来像代码?请格式化它。 – instinct
它不起作用?请提供有关您的问题的更多详情。 – Chara
EXECUTE IMMEDIATE lv_str中存在一些问题;这个EXECUTE IMMEDIATE lv_str部分不起作用。什么是正确的语法? –