用这种方式报如下错误:CREATE GLOBAL TEMPORARY TABLE TEMP_TAB1(
table_name VARCHAR2(20),
primary_key VARCHAR2(100),
field VARCHAR2(1000))
ON COMMIT PRESERVE ROWS;Error: PLS-00103: 出现符号 "CREATE"在需要下列之一时:
begin case declare exit
for goto if loop mod null pragma raise return select update
while with <an identifier>
<a double-quoted delimited-identifier> <a bind variable> <<
close current delete fetch lock insert open rollback
savepoint set sql execute commit forall merge
<a single-quoted SQL string> pipe
table_name VARCHAR2(20),
primary_key VARCHAR2(100),
field VARCHAR2(1000))
ON COMMIT PRESERVE ROWS;Error: PLS-00103: 出现符号 "CREATE"在需要下列之一时:
begin case declare exit
for goto if loop mod null pragma raise return select update
while with <an identifier>
<a double-quoted delimited-identifier> <a bind variable> <<
close current delete fetch lock insert open rollback
savepoint set sql execute commit forall merge
<a single-quoted SQL string> pipe
解决方案 »
- 小弟来问个问题,关于连接查询,存在重复记录时,只连接显示唯一一条。。
- 同为oracle 10G的字符集为Simplified Chinese_china zhs16gbk的库如何移殖入字符集为utf8的库中
- 关于查询的问题!急!!!
- 请问用alter语句 怎么改变一个column的size?
- 高级复制配置完成后在主站点启动复制时报错,高手支援下 ~~
- Oracle的服务!请教
- 数据文件达到了MAXSIZE 后为什么还在变大?
- 心得共享:Oracle经验技巧集锦
- 想从oracle9.2.0.1 升级到 oracle9.2.0.4(windows下)
- 如何在程序里面调用oracle的备份功能
- 如何修改这条SQL语句可令执行速度加快?
- 请问有谁知道,如何能读出oracle中所有用户的SQl语句是什么啊!!
...
execute immediate 'create global TEMPORARY TABLE TEMP_TAB1( ...';
...不过我觉得动态创建临时表没有必要
在外面创建就可以了
不过你都这么确定的表结构了,为什么要用动态SQL?
CREATE GLOBAL TEMPORARY TABLE TEMP_TAB1(
table_name VARCHAR2(20),
primary_key VARCHAR2(100),
field VARCHAR2(1000))
ON COMMIT PRESERVE ROWS;
在数据库里面建好这个表;过程里面直接使用就TEMP_TAB1就OK过程里面执行 DDL 很慢,没有必要,还只能用动态sql