社区
Oracle
帖子详情
oracle 事务处理 对drop table没有效果吗?
essenza
2008-09-30 03:45:02
有一个过程:
语句1: drop table temp
语句2: create table temp as select ........
我想要在当语句2出错的时候,语句1回滚,但是我用事物处理没有效果,难道事物处理对drop 无效?
有无其他的办法?
谢谢!
...全文
250
9
打赏
收藏
oracle 事务处理 对drop table没有效果吗?
有一个过程: 语句1: drop table temp 语句2: create table temp as select ........ 我想要在当语句2出错的时候,语句1回滚,但是我用事物处理没有效果,难道事物处理对drop 无效? 有无其他的办法? 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
natty_boy
2008-09-30
打赏
举报
回复
语句1: drop table temp
语句2: create table temp as select ........
看你是先删除,在创建,其实要处理的只是数据而已,何不换种方式,
只删除数据,保留表呢,可以改成如下
1. delete from table temp
2. insert into temp select .....
mantisXF
2008-09-30
打赏
举报
回复
Agree! :-)[Quote=引用 6 楼 vc555 的回复:]
变通方法就是flashback table xxx to before drop;
:D
[/Quote]
BlueskyWide
2008-09-30
打赏
举报
回复
使用:
create or replace table temp as select ........
如果语句错误,可能不会删除原表。因手边没有环境,请楼主自已测试一下。
vc555
2008-09-30
打赏
举报
回复
变通方法就是flashback table xxx to before drop;
:D
essenza
2008-09-30
打赏
举报
回复
谢谢各位,有没有变通的方法啊
mantisXF
2008-09-30
打赏
举报
回复
DROP, CREATE, ALTER 是DDL语句,内置了COMMIT操作。
一旦执行成功就不能回滚。
flg_inwind
2008-09-30
打赏
举报
回复
drop没有回滚操作。
10g后有快速恢复可以恢复删除的表。
aiirii
2008-09-30
打赏
举报
回复
事务似乎只对DML语句有效
如果是10g的话,可以用flashback table 处理,但这些是DBA处理才对
hyrongg
2008-09-30
打赏
举报
回复
Oracle在任何DDL(create,建表)语句之前和之后发布一个隐式的提交.所以即使你的DDL
语句执行不成功,你也不能回退前面的语句,因此服务器已经发布提交命令.
执行commit或rollback语句来明确地结束事务.
SQL(
oracle
)教程(PPT版)
SQL教程 PPT版 0积分才是分享的真理
oracle
存储过程
drop
table
,利用存储过程实现
Oracle
的
drop
table
ifexists-
Oracle
利用存储过程实现
Oracle
的
drop
table
ifexists,在Mysql中可以使用[
drop
table
if exists tab_name]来实现目标表的无报错删除,但在
Oracle
中不支持这样的语法。要想实现Mysql中简洁明效的功能,可以考虑使用事务加以控制处理:BEGINEXECUTE IMMEDIATE '
DROP
TABLE
[
table
_name]';EXCEPTION W...
Oracle
Drop
Table
DROP
TABLE
使用
DROP
TABLE
语句将表或对象表移动到回收站或从数据库中完全删除表及其所有数据。 注:除非指定purge子句,否则
drop
table
语句不会将表占用的空间释放回表空间供其他对象使用,占用空间继续计入用户的空间配额。 对于外部表,此语句只删除数据库中的表元数据。它不会影响实际数据,实际数据位于数据库之外。 删除属于群集的表时,该表将移动到回收站。但是,如果随后...
利用存储过程实现
Oracle
的
drop
table
if exists
在Mysql中可以使用[
drop
table
if exists tab_name]来实现目标表的无报错删除,但在
Oracle
中不支持这样的语法。 要想实现Mysql中简洁明效的功能,可以考虑使用事务加以控制处理: BEGIN EXECUTE IMMEDIATE '
DROP
TABLE
[
table
_name]'; EXCEPTION WHEN OTHERS THEN NULL
oracle
基础(三)三种删除区别和事务
1、删除
drop
table
和 truncate
table
和 delete from 区别:
drop
table
truncate
table
delete from 属于DDL 属于DDL 属于DML 不可回滚 不可回滚 可回滚 不可带where 不可带where 可带where 表内容和结构删除 表内容删除 ...
Oracle
17,137
社区成员
55,258
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章