CREATE OR REPLACE PROCEDURE "P_TEST_TEXT" is
OLD_VAL varchar2(100) := '{(38400,23),(37900,),(38950,23),(38098,),(39148,)}';
VAL1 varchar2(100) := substr(OLD_VAL, 2, length(OLD_VAL) - 2);
VAL2 varchar2(100);
VAL3 varchar2(100);
str varchar2(200);
cd number(10) := length(VAL1);
begin
str := 'CREATE GLOBAL TEMPORARY TABLE OLD_TABLE(zfc varchar2(100)) ON COMMIT DELETE ROWS';
execute immediate str;
WHILE cd > 0 LOOP
BEGIN
VAL2 := substr(VAL1, instr(VAL1, '('), instr(VAL1, ')'));
VAL3 := substr(VAL2,instr(VAL2, ',') + 1,instr(VAL1, ')') - instr(VAL2, ',') - 1);
str := 'insert into OLD_TABLE values(VAL1)';
execute immediate str;
VAL1 := substr(VAL1,length(VAL2) + 2,length(VAL1) - length(VAL2) - 1);
cd := length(VAL1);
END;
END LOOP;
COMMIT;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('发生异常...');
END P_TEST_TEXT;
请问,怎么才能将OLD_TABLE临时表的数据输出出来
select *没用,只是显示编译成功
怎么设置DBMS_OUTPUT.PUT_LINE的参数,临时表记录的变量是哪个
本回答被提问者和网友采纳存储过程里面有个临时表,我怎么查询这个临时表的数据
临时表是在一次会话(session)中有效的,退出即自动删除。因此,你要查看临时表的数据的话:》方法1、在存贮过程中SELECT》方法2、使用全局临时表(##表名),然后外面可以看--但要注意及时清理,否则再次执行过程会报错(表已经存在)
oracle怎么查看临时表空间具体存放的数据
SQL> alter database tempfile ‘\/u01\/app\/oracle\/oradata\/orcl\/temp01.dbf’ resize 100m;方法二、将临时数据文件设为自动扩展:SQL> alter database tempfile ‘\/u01\/app\/oracle\/oradata\/orcl\/temp01.dbf’ autoextend on next 5m maxsize unlimited;方法三、向临时表空间中添加数据文件:SQL> ...
oracle 怎么在存储过程中创建一个临时表,在里面插入数据,再查找这个临 ...
一般没必要创建临时表,处理数据后又它drop。存储过程中要用到的表应该会经常用到。就让它存在吧,用完用 truncate table 清理数据就可以了。空表不会占很多资源。 我们就是这样做的。
oracle存储中创建并查询临时表
1)会话级的临时表因为这这个临时表中的数据和你的当前会话有关系,当你当前SESSION不退出的情况下,临时表中的数据就还存在,而当你退出当前SESSION的时候,临时表中的数据就全部没有了,当然这个时候你如果以另外一个SESSION登陆的时候是看不到另外一个SESSION中插入到临时表中的数据的。即两个不同的SESSION所插入的...
为什么在临时表中插入,查询结果却没数据?
golbal temprory table 在执行 COMMIT操作之后,数据会清空,创建了临时表之后,请勿执行COMMIT操作,这样你才能像普通表一样使用这张表.
临时表Oracle临时表用法
一、SESSION级临时表 创建临时表:create global temporary table temp_tbl(col_a varchar2(30)) on commit preserve rows 插入数据:insert into temp_tbl values('test session table')提交:commit;查询数据:select *from temp_tbl 可以看到数据'test session table'记录还在。结束会话,重新登录,...
oracle向目标表插入数据,plsql提示插入成功后,目标表无任何数据
如果在插入后并且未提交的的情况下新开一个session查询的话,你是查不到刚插入的数据,这跟Oracle的隔离性有关,但是在当前session是能够查到的,在commit之后,其它session就能查到了(持久性)。
...已插入成功”,但查询临时表却没有数据?在存储过程中也没有?_百度知...
再次查询这张临时表就没有数据了,你是什么方式查询这个临时表的。如果是手动select方式肯定是没有数据的。你先看看临时表的一些特性吧。将插入和查询放在一个存储过程中。调用这个存储过程,才可以看到数据。
sql server如何用存储过程把多个表的数据添加到一张表中,表字段都很...
然后字段是哪些 如果表名不变 字段类似的话 我帮你写个模型 create proc usp_tableall as insert into 表名 --这里表要存在 存储你处理的数据 否则就用select * into from tb 的格式 select col1,col2 from a union all select col1,col2 from b ……go exec usp_tableall ...
select保存到存储过程建临时表
insert #临时表名(列1, 列2, 列3, ...)select (列1, 列2, 列3)from 表名 [where 查询条件][group by ...][order by...]临时表的列1,列2,列3和表的列1,列2,列3可以不同,但必须要匹配。