存储过程里怎么建临时表 如:create table Department (Dep_ID varchar2(20) not null,Dep_name varchar2(30)); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我刚才搜索一些帖子:CREATE GLOBAL TEMPORARY TABLE TABLENAME ( COL1 VARCHAR2(10), COL2 NUMBER) ON COMMIT PRESERVE(DELETE) ROWS ;这种临时表不占用表空间,而且不同的SESSION之间互相看不到对方的数据在会话结束后表中的数据自动清空,如果选了DELETE ROWS,则在提交的时候即清空数据,PRESERVE则一直到会话结束会话指的是什么,是指存储过程本身,就是存储过程执行完毕后,数据自动清空?????? 大哥,在我的印象中oracle(最少8i)没有临时表,临时表是出现在sql server中,临时表是带#的,存储过程一完就自动消失,在oracle中不记得有临时表。sysbase中好像也有。好久没搞了,说错我就认扁。其实像在存储过程中有人这么做,开始建立一张表,用完了删除,或是就让一张表存在库中做临时表用。 叫我大哥我听着一点也不舒服!大哥有两层含义,1,真正的老大,大腕级的,2,菜鸟,轻量级的,有点扁你的意思,不知道我是属于哪个。言归正传,CREATE GLOBAL TEMPORARY TABLE TABLENAME ( COL1 VARCHAR2(10), COL2 NUMBER) ON COMMIT PRESERVE(DELETE) ROWS ;那这些是什么鸟东东啊? 在oracle815上出错 1 CREATE GLOBAL TEMPORARY TABLE cyaa ( 2 COL1 VARCHAR2(10), 3 COL2 NUMBER 4* ) ON COMMIT PRESERVE(DELETE) ROWSSQL> /) ON COMMIT PRESERVE(DELETE) ROWS *ERROR 位于第 4 行:ORA-00905: missing keyword 语法错误:create global temporary table cyaa ( col1 number(1), col2 number(2)) on commit preserve rows.或者create global temporary table cyaa ( col1 number(1), col2 number(2)) on commit delete rows.delete rows表示此临时表是事务级的,preserve rows表示此临时表是会话级的。所谓事务级,即事务完毕后,此临时表即被清空,即commit或rollback之后。而会话级的,表示在整个会话期间都有效,会话断开之后,表中数据被清空,如果,在存储过程中操作了会话级的临时表,那么,当运行此过程的会话结束后,临时表中的数据自动清空。 我要告诉ZONGSH(ZONGSH)Oracle中有临时表!不要在这里不懂装懂!就像楼上几层的高手!create temporary table(NolumnName DateType,……)就可以了! Oracle8i以后才有临时表的,即使是8i也与数据库创建时的参数有关。我用的是8.17的版本,若创建是不选择兼容8.10以上,也不支持Create Global Temporary Table …… oracle卸载 pl/sql 一个 oracle 的一个 面试查询问题 代码怎么写? sql操作问题? 求助:ORA-01001,ORA-06512,ORA-04088 两个left join怎么优化呀?要近10s 求循环语句语法!在存储过程中使用. 数据库例程配置 我的oracle存储过程为什么执行不对? 兄位大虾,小弟比较急,在Oracle中如何查看由客户端传来的SQL语句 安装Oracle重启后,为何系统登录不进去?(在线等待) 游标的问题。
COL1 VARCHAR2(10),
COL2 NUMBER
) ON COMMIT PRESERVE(DELETE) ROWS ;
这种临时表不占用表空间,而且不同的SESSION之间互相看不到对方的数据
在会话结束后表中的数据自动清空,如果选了DELETE ROWS,则在提交的时候即清空数据,PRESERVE则一直到会话结束会话指的是什么,是指存储过程本身,就是存储过程执行完毕后,数据自动清空??????
大哥有两层含义,1,真正的老大,大腕级的,2,菜鸟,轻量级的,有点扁你的意思,
不知道我是属于哪个。言归正传,
CREATE GLOBAL TEMPORARY TABLE TABLENAME (
COL1 VARCHAR2(10),
COL2 NUMBER
) ON COMMIT PRESERVE(DELETE) ROWS ;那这些是什么鸟东东啊?
1 CREATE GLOBAL TEMPORARY TABLE cyaa (
2 COL1 VARCHAR2(10),
3 COL2 NUMBER
4* ) ON COMMIT PRESERVE(DELETE) ROWS
SQL> /
) ON COMMIT PRESERVE(DELETE) ROWS
*
ERROR 位于第 4 行:
ORA-00905: missing keyword
create global temporary table cyaa ( col1 number(1), col2 number(2)) on commit preserve rows.
或者create global temporary table cyaa ( col1 number(1), col2 number(2)) on commit delete rows.delete rows表示此临时表是事务级的,preserve rows表示此临时表是会话级的。
所谓事务级,即事务完毕后,此临时表即被清空,即commit或rollback之后。而会话级的,表示在整个会话期间都有效,会话断开之后,表中数据被清空,如果,在存储过程中操作了会话级的临时表,那么,当运行此过程的会话结束后,临时表中的数据自动清空。
就像楼上几层的高手!create temporary table(NolumnName DateType,……)就可以了!