这是8i版吗?这个版本怎么没有Create global temporary table 命令?

highz 2003-10-16 05:48:12
SQL> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle8 Release 8.0.5.0.0 - Production
PL/SQL Release 8.0.5.0.0 - Production
CORE Version 4.0.5.0.0 - Production
TNS for 32-bit Windows: Version 8.0.5.0.0 - Production
NLSRTL Version 3.3.2.0.0 - Production
...全文
73 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
railgunman 2003-12-24
  • 打赏
  • 举报
回复
好!
highz 2003-10-16
  • 打赏
  • 举报
回复
beckhambobo 2003-10-16
  • 打赏
  • 举报
回复
在create table哪栏上,8.05不支持临时表
http://download-west.oracle.com/docs/cd/A64702_01/doc/index.htm
beckhambobo 2003-10-16
  • 打赏
  • 举报
回复
http://download-west.oracle.com/docs/cd/A87861_01/NT817EE/index.htm
highz 2003-10-16
  • 打赏
  • 举报
回复
SQL> create global temporary aaaa(col1 char(8)) on commit preserve rows;
create global temporary aaaa(col1 char(8)) on commit preserve rows
*
错误位于第1行:
ORA-00901: 无效 CREATE 命令

你的oracle可以吗?我的怎么这个样子?!
beckhambobo 2003-10-16
  • 打赏
  • 举报
回复
在Oracle8i中,可以创建以下两种临时表:
1。会话特有的临时表
CREATE GLOBAL TEMPORARY <TABLE_NAME> (<column specification> )
ON COMMIT PRESERVE ROWS;

2。事务特有的临时表
CREATE GLOBAL TEMPORARY <TABLE_NAME> (<column specification> )
ON COMMIT DELETE ROWS;
CREATE GLOBAL TEMPORARY TABLE MyTempTable
所建的临时表虽然是存在的,但是你试一下insert 一条记录然后用别的连接登上去select,记录是空的,明白了吧。
下面两句话再贴一下:
--ON COMMIT DELETE ROWS 说明临时表是事务指定,每次提交后ORACLE将截断表(删除全部行)
--ON COMMIT PRESERVE ROWS 说明临时表是会话指定,当中断会话时ORACLE将截断表。
highz 2003-10-16
  • 打赏
  • 举报
回复
LGQDUCKY(飘):
我觉得它是没有这个命令,在SQL Plus中运行你写的这条语句后,系统提示:
错误位于第1行:
ORA-00901: 无效 CREATE 命令
而且在pdf的帮助中也没有找到。
LGQDUCKY 2003-10-16
  • 打赏
  • 举报
回复
创建临时表
CREATE GLOBAL TEMPORARY TABLE admin_work_area
(startdate DATE,
enddate DATE,
class CHAR(20))
ON COMMIT DELETE ROWS;

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧