Oracle中使用SQL*Plus插入(insert)后的数据记录,提交了吗?

Rivulet119 2009-03-16 04:09:47
我在SQL×Plus中用Insert语句插入一条记录,然后退出SQL*Plus,再进去用Select语句能够查询到这条记录。但是在OEM中,一直显示该表的行数为0.不知道何故?难道在SQL*Plus中还要使用Commit提交吗?

另外在Oracle 10g中的OEM中能不能像Oracle9i的OEM一样打开表中的记录啊?我一直没有找到哦。
...全文
708 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Rivulet119 2009-04-27
  • 打赏
  • 举报
回复
谢谢楼上各位。
wangsong145 2009-03-17
  • 打赏
  • 举报
回复
默认情况下应该会提交
jdsnhan 2009-03-16
  • 打赏
  • 举报
回复
SQL> show autocommit
autocommit OFF
SQL>

看看自动提交是否打开。

ouyangxiaokang6 2009-03-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 Rivulet119 的回复:]
谢谢superhsj,另外请教:

也就是说SQL*Plus中Insert后的数据只是存在于内存中么,系统不会有CheckPoint进行检查存入数据库?
[/Quote]
不会,不是存在内存中,必须commit,否则关闭,就回滚
jojoandy 2009-03-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 fuyou001 的回复:]
你用exit退出,就会提交
如果直接关闭了cmd窗口,就会rollback
[/Quote]
另,退出后,你再在OEM里查查就有了
superhsj 2009-03-16
  • 打赏
  • 举报
回复
你在sql*plus里执行insert、update、delete后如果没有commit
select看到的是你改变后的数据:如果执行rollback数据就会回到你操作前的状态;如果没有rollback而执行commit你的操作就会提交
如果退出的话就如3楼所说的了
fuyou001 2009-03-16
  • 打赏
  • 举报
回复
你用exit退出,就会提交
如果直接关闭了cmd窗口,就会rollback
Rivulet119 2009-03-16
  • 打赏
  • 举报
回复
谢谢superhsj,另外请教:

也就是说SQL*Plus中Insert后的数据只是存在于内存中么,系统不会有CheckPoint进行检查存入数据库?
superhsj 2009-03-16
  • 打赏
  • 举报
回复
要commit

17,377

社区成员

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

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