
正文
oracle存储过程可以建临时表,oracle使用存储过程建表
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
怎样在oracle数据库里面建立一张临时表,保存一条或者多条数据,在这条...
一般没必要创建临时表,处理数据后又它drop。存储过程中要用到的表应该会经常用到。就让它存在吧,用完用 truncate table 清理数据就可以了。空表不会占很多资源。 我们就是这样做的。
oracle可以创建临时表,ORACLE临时表有两种类型:会话级的临时表和事务级的临时表。
execute immediate insert into test values (v_i); 或者你就直接建一个永久性的表(建表语句就不要写在存储过程当中了),然后每次赋值前先截断 ,这样存储过程是不会因为对象不存在而失效。
相关问答
Q1: ORACLE存储过程创建临时表并插入数据。
不知道楼主的需求如何 一般没必要创建临时表,处理数据后又它drop。存储过程中要用到的表应该会经常用到。就让它存在吧,用完用 truncate table 清理数据就可以了。空表不会占很多资源。 我们就是这样做的。
通过拼接sql语句赋给变量如v_sql 然后再用execute immediate v_sql执行即可实现。
Oracle 的临时表创建之后基本不占用表空间,如果你没有指定临时表(包括临时表的索引)存放的表空的时候,你插入到临时表的数据是存放在 ORACLE 系统的临时表空间中( TEMP )。
INSERT INTO TEST VALUES (V_I);END LOOP;OPEN OCUR FOR SELECT T.SID FROM TEST T;END;同时临时表就是一个缓存数据的表,在执行提交操作的时候就被清空了,没有必要每次都去新建然后删掉,他占用的存储空间很少。
Q2: oracle存储中创建并查询临时表
1、一般没必要创建临时表,处理数据后又它drop。存储过程中要用到的表应该会经常用到。就让它存在吧,用完用 truncate table 清理数据就可以了。空表不会占很多资源。 我们就是这样做的。
2、当然会报这个错误了,编译的时候没有这个对象(select * from PRTLSTDEL_TMP)肯定会出错,编译不成功就不能执行,不能执行这个临时表就创建不了。
3、oracle可以创建临时表,ORACLE临时表有两种类型:会话级的临时表和事务级的临时表。
4、由于第一种是默认值,你的命令里面没加选项默认为commit后删除数据。而ddl语句(create table 就是一个ddl)发出后,oracle会隐式的提交事务(commit),因此刚刚插入到临时表的数据被自动删除了。
Q3: oracle如何建立临时表
oracle可以创建临时表,ORACLE临时表有两种类型:会话级的临时表和事务级的临时表。
Oracle 的临时表的 处理机制,和 SQL Server 的不一样。假如你的临时表的结构不是每次执行都发生变化的话 那么就是事先 通过 CREATE GLOBAL TEMPORARY TABLE 语句,把临时表建立好。
存储过程创建表后,在编译阶段数据库中并没有该表。这时向表中插入数据,会提示表不存在。所以,插入语句要赋值到变量里,通过e来执行。
oracle存储过程可以建临时表的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于oracle使用存储过程建表、oracle存储过程可以建临时表的信息别忘了在本站进行查找喔。






