在一个匿名块中,我想执行以下oracle查询:
Select sum(var_col_nm) from var_table_nm;我在这一行遇到错误,因为表名和列名引用了一个变量!
有路可走吗?
代码片段:
Delare
v_col_nm varchar2(200);
v_table_nm varchar2(200);
Begin
For j in (select col_nm1,col_nm2 from table) loop
v_table_nm:=j.col_nm1;
v_col_nm:=j.col_nm2;
Select sumy(v_col_nm) from v_table_nm; --here I'm getting error.
Other logic;
End Loop;
End;发布于 2019-01-04 02:19:38
你为dynamic SQL做execute immediate
execute immediate 'Select sum('
|| v_col_nm || ') from ' || v_table_nm; 正如@AlexPoole建议的那样,您可能应该添加额外的变量来选择结果
https://stackoverflow.com/questions/54027632
复制相似问题