×

delete语句需要commit吗

delete语句需要commit吗(oracle什么时候需要commit)

admin admin 发表于2024-09-21 22:58:53 浏览1 评论0

抢沙发发表评论

大家好,今天小编来为大家解答以下的问题,关于delete语句需要commit吗,oracle什么时候需要commit这个很多人还不知道,现在让我们一起来看看吧!

本文目录

oracle什么时候需要commit

DML语言,比如update,delete,insert等修改表中数据的需要commit;DDL语言,比如create,drop等改变表结构的,就不需要写commit(因为内部隐藏了commit);DDL 数据定义语言:create table 创建表 alter table 修改表 drop table 删除表 truncate table 删除表中所有行 create index 创建索引 drop index 删除索引当执行DDL语句时,在每一条语句前后,oracle都将提交当前的事务。如果用户使用insert命令将记录插入到数据库后,执行了一条DDL语句(如createtable),此时来自insert命令的数据将被提交到数据库。当DDL语句执行完成时,DDL语句会被自动提交,不能回滚。DML 数据操作语言:insert 将记录插入到数据库 update 修改数据库的记录 delete 删除数据库的记录当执行DML命令如果没有提交,将不会被其他会话看到。除非在DML命令之后执行了DDL命令或DCL命令,或用户退出会话,或终止实例,此时系统会自动发出commit命令,使未提交的DML命令提交。

【oracle】delete语句同时删除多张表(在线等)

如果你是要删除2长表里的数据,可以分步做啊:delete from a where a.ida=1;delete from b where b.idb=1;commit;像你那种做法,是不可行的,不符合oracle的语法。oracle只允许从一张表中删除数据。你是不是想删除A表中的数据(B表不变),但要这些数据存在于B表中,可以使用:DELETE FROM a WHERE (a.ida, a.name) IN (SELECT a.ida, a.name FROM a ,b where a.ida=b.idb);COMMIT;这些语句我都在oracle92中测试过,不知道你究竟需要做什么?

insert,delete,update 等DML语句在PL/SQL里运行不用commit就自动提交了为什么在sqlplus黑dos下必须用commt

自动提交:若把AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后,系统将自动进行提交,这就是自动提交。其格式为:SQL》SET AUTOCOMMIT ON;

oracle中的commit和rollback

commit就是确定提交的意思,比如你用test账户登录数据库insert到表中一条记录,而不commit,那么别的账户在登录这个数据库时就查询不到你insert的记录;而commit后则其他账户就能查询到你insert的记录了。rollback就是回滚的意思,比如你用test账户登录数据库delete表中一条记录,这时你查询这个表时,则delete的记录不存在;再rollback后,你再查询你delete的记录时,发现被删除的记录又回来了。

sql语句什么时候用commit,为什么有时候不用commit也可以执行啊

可以执行,但是不提交数据不会保存到数据库DML需要提交(insert、update、delete)DDL会自动提交(create、alter ...)

sql中如何恢复用delete删除的记录

你在delete from 表名之后,他不是直接进行删除的,你需要commit 提交后才能生效或者可以rollback可以取消也就是说,你在删完之后,在敲进去rollback就能恢复了如果已经commit完,那就无法恢复了

关于本次delete语句需要commit吗和oracle什么时候需要commit的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。