【发布时间】:2018-04-15 12:19:10
【问题描述】:
我刚开始学习Oracle。当我执行以下语句时
DECLARE
sql_stmt VARCHAR2(200);
table_obj user_tables.table_name%type;
begin
for l_i in (select table_name from results) loop
table_obj := dbms_assert.sql_object_name(l_i.table_name);
sql_stmt := 'update results set cnt_record = ( select count(*) from :1) where table_name = UPPER(:2)';
EXECUTE IMMEDIATE sql_stmt
USING table_obj, l_i.table_name;
end loop;
end;
我收到一个错误:
错误报告-
ORA-00903: 无效的表名
ORA-06512:在第 11 行
00903. 00000 - “无效的表名”
*原因:
*行动:
【问题讨论】:
标签: sql oracle dynamic-sql