社区
Oracle
帖子详情
如何在SQLPLUS中使用命令创建orcale的临时表
tkdyzc
2004-09-27 04:44:09
好象是数据的存在周期是用户数据库连接的时间,只要断开数据库连接,服务器中存放的数据就会丢失
...全文
251
1
打赏
收藏
如何在SQLPLUS中使用命令创建orcale的临时表
好象是数据的存在周期是用户数据库连接的时间,只要断开数据库连接,服务器中存放的数据就会丢失
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
freddy2003
2004-09-27
打赏
举报
回复
Oracle中临时表
在Oracle中,可以创建以下两种临时表:
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将截断表的数据,但表结构还存在。
冲突的问题更本不用考虑.
临时表只是保存当前会话(session)用到的数据,数据只在事务或会话期间存在。
通过CREATE GLOBAL TEMPORARY TABLE命令创建一个临时表,对于事务类型的临时表,
数据只是在事务期间存在,对于会话类型的临时表,数据在会话期间存在。
会话的数据对于当前会话私有。每个会话只能看到并修改自己的数据。DML锁不会加到
临时表的数据上。下面的语句控制行的存在性。
● ON COMMIT DELETE ROWS 表名行只是在事务期间可见
● ON COMMIT PRESERVE ROWS 表名行在整个会话期间可见
可以对临时表创建索引,视图,出发器,可以用export和import工具导入导出表的
定义,但是不能导出数据。表的定义对所有的会话可见。
例如:
CREATE GLOBAL TEMPORARY TABLE TEMP_TAB1(
table_name VARCHAR2(20),
primary_key VARCHAR2(100),
field VARCHAR2(1000))
ON COMMIT PRESERVE ROWS;
CREATE GLOBAL TEMPORARY TABLE TEMP_TAB2(
table_name VARCHAR2(20),
primary_key VARCHAR2(100),
field VARCHAR2(1000))
ON COMMIT DELETE ROWS;
or
ca
le
简单
使用
1.or
ca
le
中
创建
用户的的概念 类似于mysql
中
创建
自己数据库的操作 oralce
创建
用户 1.cmd 方式
使用
syetem 用户密码(安装时设置的口令)
sqlplus
/as system 123456 create user lianxiyixia identified by lianxiyixia default tab
le
space use...
Or
ca
le
的
SQLPLUS
的登陆方式
Or
ca
le
的
SQLPLUS
的登陆方式 有两种: 从程序
中
打开: 本地用sys/password/orcl as sysdba 远程用username/password/IP(如:10.67.7.233/orcl) 通过
命令
行运行
sqlplus
: sys as sysdba 然后提示输入密码,然后输入密码就可以了。...
【Or
ca
le
】
sqlplus
基本指令操作之权限管理
最近学习了写Orac
le
的东西,
使用
sqlplus
操作Or
ca
le
的权限管理和角色管理。Orac
le
的sql*plus是与orac
le
数据库进行交互的客户端工具,借助sql*plus可以查看、修改数据库记录。在sql*plus
中
,可以运行sql*plus
命令
与sql语句。 首先是
使用
系统管理员权限登录数据库,它拥有最高权限;
sqlplus
/ as sysdba; /登陆sys帐户 如果出
OR
CA
LE
使用
SYSDBA身份登录
sqlplus
在修改数据库的编码的时候,始终不能用SYSDBA的身份登录到
sqlplus
里面,通过多方百度,查到了一种方法,亲测可用 1、先用一个普通身份登入: 1)cmd->
sqlplus
2)
使用
普通用户登入 3)conn sys as sysdba 这里的sysdba是sysdba身份的用户 4)输入密码即可 ...
Or
ca
le
_
sqlplus
基本指令操作之权限管理
/授权(查询)权限,se
le
ct可替换为insert/update/insert即(插入/修改/插入id)权限。//授予A用户
创建
session的权限,即登陆权限 (必须授予,登录
使用
)//授予A用户
使用
表空间的权限(想
创建
表,必须具有
使用
表空间权限)//授予A用户
创建
表的权限。我们
使用
A用户
创建
的表Atab
le
,然后在没有给B授权的情况下,让B查询Atab
le
;我们让A用户把权限授予B用户,同时也可以撤销授予其他用户的权限,授予的权限还可以具体到表的某一列上;//授予删除表的权限。
Oracle
17,134
社区成员
55,258
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章