社区
Oracle
帖子详情
commit问题
niexiancheng
2007-04-05 11:39:07
ORACLE中:
insert into table1;
insert into table2;
insert into table3 select * from table2;
insert into table3 select * from table1;
我想要的结果是:table3 commit
table1,table2 rollback
要怎么做?
...全文
242
9
打赏
收藏
commit问题
ORACLE中: insert into table1; insert into table2; insert into table3 select * from table2; insert into table3 select * from table1; 我想要的结果是:table3 commit table1,table2 rollback 要怎么做?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
niexiancheng
2007-04-16
打赏
举报
回复
savepoint问题可以解决部分问题,但是遇到循环的话就不好解决了
niexiancheng
2007-04-06
打赏
举报
回复
不提交的话,数据是放到回滚段里还是?数据什么时候会失效?
worldly_wind
2007-04-05
打赏
举报
回复
你把需要插入到table3的数据直接做一下关联直接插入即可,不用这么多步骤。你的前两个语句后边应该还有东西吧
wangzk0206
2007-04-05
打赏
举报
回复
commit了 然后在把TABLE1和TABLE2给TRUNCATE就可以了
Paladin_china
2007-04-05
打赏
举报
回复
做事务控制啊。
niexiancheng
2007-04-05
打赏
举报
回复
能直接插的话就不想那么多问题了,
我只是举的一个例子,
实际中比这个复杂
还有就是,不COMMIT,也不ROLLBACK,下次我读这个表时有没有数据?
bjt_
2007-04-05
打赏
举报
回复
直接插入到table3里不就得了,
adaizi1980
2007-04-05
打赏
举报
回复
1 commit语句提交当前未提交的所有请求;
2 可以设置savepoint来将当前操作回滚到以前某个未提交的保存点,一旦提交就不能再回滚了;
3 所以oracle不能通过事务控制实现提交最后的修改后再回滚之前的操作的功能,sqlserver也不可以;
4 如果之想取消commit之前某些操作,可以通过灵活设置保存点进行回滚操作,但是如果想要只保留最后操作再回滚之前的操作只能通过dml语句进行反向操作了如:
假设a为主键
insert into table1 select a,b from table_source;
insert into table_result select a,b from table1;
delete table1 where exists (select 1 from table_source where table_source.a = table1.a);
commit;
niexiancheng
2007-04-05
打赏
举报
回复
我的意思就是有一些表我要更新,有些表的数据也改了,但我不想更新
针对手动事务 多
commit
问题
产生报错do not call
commit
or rollback more than once per transaction
针对手动事务 多
commit
问题
产生报错do not call
commit
or rollback more than once per transaction 可以这样 /** * 获取事务管理器对象 * * @return 事务管理器 */ protected static PlatformTransactionManager getTransactionManager() { return (PlatformTransactionManager) getBean("transactionMan
git
commit
提交报错 husky > pre-
commit
问题
这个
问题
是因为当你在终端输入git
commit
-m “XXX”,提交代码的时候,pre-
commit
(客户端)钩子,它会在Git键入提交信息前运行做代码风格检查。如果代码不符合相应规则,则报错,而它的检测规则就是根据.git/hooks/pre-
commit
文件里面的相关定义。查询了网上的解决办法,总结为以下三种解决方案,个人喜欢第三种: 卸载husky。只要把项目的package.json文件中devDependencies节点下的husky库删掉,然后重新npm i 一次即可。或者直接在项目根目.
sql语句
commit
问题
DML修改表数据时,需要提交(insert、update、delete) 当执行DML命令如果没有提交,将不会被其他会话看到。除非在DML命令之后执行了DDL命令或DCL命令,或用户退出会话,或终止实例,此时系统会自动发出
commit
命令,使未提交的DML命令提交。 DDL会自动提交(create、alter …) 当执行DDL语句时,在每一条语句前后,数据库都将提交当前的事务。如果用户使用insert命令将记录插入到数据库后,又执行了一条DDL语句(如create table),此时insert命令的数据
svn篇之提交svn
commit
提示Aborting
commit
问题
解决
svn resolved 除了删除冲突文件,还修正了一些记录在工作拷贝管理区域的记录数据,因为当冲突时会产生几个临时文件。报错原因:提交文件失败,是因为上一次提交命令失败,导致整个文件夹下都被锁定了,根据提示cleanup一下整个目录。通常会遇到一种情况,当提交svn
commit
的时候,把分支上的代码进行提交到主干时,一直提示提交失败。根据提示,说明文件内容产生冲突,说明本地的文件与远程svn的文件存在不一致导致的。对产生冲突的文件进行修复,可执行如下指令。三、常见提交失败工作目录被锁
问题
。
git
commit
问题
描述写错了怎么修改(在未git push)
有时候在git
commit
后发现没有描述好,或者还没写好就不小心按了回车提交了. 那么要修改要怎么怎么。 在未执行git push 之前可以使用如下的命令进行操作(只能撤销最近一次的
commit
) git reset --soft
commit
_id(可以git log查看)例子: 先git log 查下
commit
_id 如图中红线所示在开个git bash 窗口git re...
Oracle
17,137
社区成员
55,258
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章