Redian新闻
>
truncate和delete在ORACLE里有什么区别?
avatar
truncate和delete在ORACLE里有什么区别?# Database - 数据库
O*d
1
今天在山里hiking,偶然拍得。
avatar
h*a
2
【艺马当先】工笔人物
avatar
e*r
3
我想把所有数据从一个table里去掉, 先试了truncate,没成功(说是referenced
by foreign key); 用delete就成了.
什么原因啊? 在这个例子里, 用delete 会不会破坏数据库的结构?
谢谢
avatar
A*2
4
这张是临摹吧:)

【在 h***a 的大作中提到】
: 【艺马当先】工笔人物
avatar
c*d
5
不管delete还是truncate,都不会破坏数据库的结构
delete是dml,可以rollback
truncate是ddl,不可以rollback
avatar
q*x
6
都工笔人物了啊。。。大师太厉害了!
avatar
c*d
7
truncate table操作oracle要检查是否存在ref关系
如果有B表fk ref到你要truncate的表A,即便B表里实际没有数据,truncate A操作也不
能成功
delete就不同了,如果没有对应的数据,delete A操作可以

【在 e******r 的大作中提到】
: 我想把所有数据从一个table里去掉, 先试了truncate,没成功(说是referenced
: by foreign key); 用delete就成了.
: 什么原因啊? 在这个例子里, 用delete 会不会破坏数据库的结构?
: 谢谢

avatar
h*a
8
临摹王美芳的。王美芳的作品结合了中西方的画法.
在qq上同一群美术老师聊,都认为王美芳工笔人物画得好,学不了,我
还是不信这个邪。还是有很大的差距,主要在色彩上。

【在 A********2 的大作中提到】
: 这张是临摹吧:)
avatar
j*a
9
And truncate will release the storage space. Delete won't.
avatar
h*a
10
谢谢!我从小是画人物。色彩还有待提高.

【在 q**x 的大作中提到】
: 都工笔人物了啊。。。大师太厉害了!
avatar
B*g
11
disable ref,呵呵。

【在 c*****d 的大作中提到】
: truncate table操作oracle要检查是否存在ref关系
: 如果有B表fk ref到你要truncate的表A,即便B表里实际没有数据,truncate A操作也不
: 能成功
: delete就不同了,如果没有对应的数据,delete A操作可以

avatar
t*a
12
赞!
avatar
c*d
13
对,如果想truncate table A成功
必须alter table B disable constraint FK_NAME
然后就可以truncate A了

也不

【在 B*****g 的大作中提到】
: disable ref,呵呵。
avatar
n*6
14
补充题外问题:
在sql server里面,如果在stored procedure里面用truncate,job agent run需要非
常高的权限。为什么呢?因为truncate是DDL吗?
结果是:很多都用delete,尽管有些数据可能不需要写入log file。
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。