是否可以声明带有表格名称的光标作为参数,然后通过它循环?带表格参数的光标
我想是这样的:
create or replace procedure p_update_something as
v_tab varchar2(100) := my_table;
v_name varchar2(100) := my_name;
cursor c_global (l_tab in varchar2, l_name in varchar2) is
select * from l_tab -- [here points the error]
where substr(comp_id, 1,2) in (l_name);
begin
for r in c_global(v_tab, v_name) loop
[update statement]
end loop;
end p_update_something;
,但在编译时我收到提示:
ORA-00942: table or view does not exist
在游标声明(标注在上面的代码为[这里指出错误] )。
任何人都知道它有什么问题吗?
出于好奇,如果所有表都具有相同的结构,为什么还需要更改表名?这不是因为你正在创建和删除表,是吗?此外,您可能最有可能将更新语句和游标组合在一个更新或合并语句中。 – Boneist
我需要循环遍历少数数据库(每个代表其他国家/地区)的类似表格并更新我的主表格。此外还需要在10k行后提交,这就是为什么我不能使用简单更新。干杯。 – massko