临时表问题 没有必要动态创建临时表!跟sql的有区别。oracle的临时表,是用完后,不自动drop。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的问题在于 临时表 是在过程里面动态创建的 后面紧接着 delete from Righttable; 这样编译肯定会找不到Righttable表,因为存储过程还没有执行。在外面创建临时表即可。 那样的话所有使用临时表的语句,都是用动态sql而且最后还要execute immediate 'drop table ...'; 我先创建好临时表后,在向里面插入值,可是用select语句却不能检索到这些值,为什么? 存储过程外边?执行commit了没有? 那就是啊。commit以后,数据就自动清空了! create global temporary table temp_table( col1 type1, col2 type2, ...) [on commit (preserve rows | delete rows) ]如果指定preserve rows则数据会在用户关闭连接是自动删除如果指定delete rows 则数据会在用户提交数据(commit)的时候自动删除如果什么都不指定. 默认使用on commit delete rows.只需要创建一次可以多处,多次,不同的session同时使用,能够做到互补干扰 Oracle外键delete 如何定义一个字段,只能接受字母 查询重复值的存储过程 弱弱问一问题PLSQL 请问oracle 里 foreign key的问题 oracle性能问题 关于oracle里的自增序列和存储过程 哪位高手知道 不同局域网子网内的ORACLE服务器能够怎么样共享。 再进一步讲,怎么样借用远程网络,使用另一个子网内的服务器? 统计的问题: 求救:关于ORA-12545的解决方法 我想给有一百万篇文章的表做个标题搜索,如何做一个低开销的搜索服务呢? 在线等高手解答
临时表 是在过程里面动态创建的
后面紧接着 delete from Righttable;
这样编译肯定会找不到Righttable表,因为存储过程还没有执行。在外面创建临时表即可。
而且最后还要execute immediate 'drop table ...';
执行commit了没有?
(
col1 type1,
col2 type2,
...
) [on commit (preserve rows | delete rows) ]
如果指定preserve rows则数据会在用户关闭连接是自动删除
如果指定delete rows 则数据会在用户提交数据(commit)的时候自动删除如果什么都不指定. 默认使用on commit delete rows.只需要创建一次可以多处,多次,不同的session同时使用,能够做到互补干扰