dkfr.net
当前位置:首页 >> ORACLE 存储过程中创建了临时表,但是查询该临时表... >>

ORACLE 存储过程中创建了临时表,但是查询该临时表...

当然会报这个错误了,编译的时候没有这个对象(select * from PRTLSTDEL_TMP)肯定会出错,编译不成功就不能执行,不能执行这个临时表就创建不了。 怎么会有这么奇葩的需求? 你要把select * from PRTLSTDEL_TMP这里也变成动态的才行 就算改好了成...

create table tmp_临时表 as select * from 表名 ;// 这边是创建临时表再将数据添加到临时表 insert into tmp_临时表 select * from 表名 ; // 和上面的一样,但是这个是临时表已经存在新增数据

比如临时表叫temp,你要查询的语句为select * from 表名 where id=1。 如果temp表存在: insert into temp select * from 表名 where id=1;commit;如果temp表不存在 create table temp as insert into temp select * from 表名 where id=1;注意...

DBMS_OUTPUT.PUT_LINE就是用这个啊,将里面的参数设置为之前临时表记录的变量,就打印出来了啊

因为在编译前oracle会检查test表是否存在,如果不存在就提示无视图。 建议先重建一下这个表,每次操作前先执行drop table操作,然后在执行create table操作,这样就能通过编译。 代码如下: CREATE OR REPLACE PROCEDURE UP_TEST(STRBEGIN VARCH...

见图,直接不能回复

你这个语法是不对的 你create table as select 的时候是不能指定列的数据类型,因为你是根据查询结果创建一个表,列名和数据类型都是由查询结果定的,或者你可以 create table 然后 insert into table select ... 改成下面这样 create or replac...

在存储过程中,可以使用常规的语句对临时表进行操作。例如 select * from #wareid select * from #wareid where vendorno=……

请详细描述你的问题

不知道楼主的需求如何 一般没必要创建临时表,处理数据后又它drop。 存储过程中要用到的表应该会经常用到。就让它存在吧,用完用 truncate table 清理数据就可以了。 空表不会占很多资源。 我们就是这样做的。

网站首页 | 网站地图
All rights reserved Powered by www.dkfr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com