问:我的PL/SQL代码如下所示,其中提示“insert”出现问题。我检查了一下还是不知道问题出在哪里,请专家帮忙指点一下,谢谢! insert into row_chain_demo (col1,col256) values(1,’Hello World’); * ERROR at line 43: ORA-06550: line&nbs……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号

TechTarget
官方微博

TechTarget中国
问:我的PL/SQL代码如下所示,其中提示“insert”出现问题。我检查了一下还是不知道问题出在哪里,请专家帮忙指点一下,谢谢!
insert into row_chain_demo (col1,col256) values(1,'Hello World'); * ERROR at line 43: ORA-06550: line 43, column 13: PL/SQL: ORA-00942: table or view does not exist ORA-06550: line 43, column 1: PL/SQL: SQL Statement ignored declare l_create_table_query varchar2(2000) default 'create table row_chain_demo (col1 number) segment creation immediate' ; l_alter_table_query varchar2(2000) ; l_column_name user_tab_columns.column_name%type default 'col' ; begin for x in (select * from dual where not exists (select null from user_tables where table_name = upper('row_chain_demo') ) ) loop execute immediate l_create_table_query; end loop; dbms_output.put_line (l_create_table_query); for l_cntr in 2..256 loop l_column_name := 'col' || l_cntr ; l_alter_table_query := 'alter table row_chain_demo add ' || l_column_name || ' char(2000) ' ; for x in (select * from dual where not exists (select null from user_tab_columns where table_name = upper('row_chain_demo') and column_name = upper( l_column_name ) ) ) loop execute immediate l_alter_table_query ; end loop; end loop; commit; insert into row_chain_demo (col1,col256) values(1,'Hello World'); end; / |
答:你创建的表不会动态地出现在编译时(compile time)里。任何模式对象的静态引用都需要在编译时中进行验证。而DML中动态表的静态引用语句必须是动态进行的。
作者
相关推荐
-
数据库和数据仓库的区别在哪儿?
目前,大部分数据仓库还是用数据库进行管理。数据库是整个数据仓库环境的核心,是数据存放的地方和提供对数据检索的支持。
-
如何使用服务来平衡Oracle RAC 数据库工作负载
为不同的应用程序配置不同的服务,DBA可以更有效地平衡集群工作负载,在Oracle RAC数据库环境下实现更好的应用程序性能。
-
CouchDB使用体验
不要在大数据上尝试CouchDB,不要在需要频繁查询的地方使用CouchDB,不要在需要大量汇总、分析数据的地方使用CouchDB。
-
2015年6月数据库流行度排行榜 动荡不比股市弱
6月的数据库流行度排行榜,动荡堪比股市。数据库知识网站DB-engines.com更新了六月的榜单,其中前三名依然是Oracle、MySQL和SQL Server。