ORACLE 用 MARGE INTO 怎么知道它执行的是什么操作是UPDATE 还是INSERT ?
1个回答
展开全部
MERGE INTO有个条件匹配子句,满足条件的就UPDATE,没有匹配上就是INSERT.
追问
现在我就是想知道,我执行了一次,到底执行的是哪一种,有没有一种返回或者定义参数之类的以知道?
追答
没有,这个是MERGE在后台偷偷干的,不告诉你哪个是更新的,哪个是插入的.不过你可以在表里添加两个字段,操作时间和操作内容,当MERGE做的是INSERT时,这两个字段赋初始值,比如系统时间和0,然后在UPDATE的时候同时将这两个字段更新为当时的系统时间和1,然后通过时间和操作内容,大致确定哪个是这次MERGE新增的,哪个是这次MERGE更新的.这样也能部分解决你的问题.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询