oracle 第四种dml(merge)
oracle dml 有insert ,update ,delete和merge ,前面三个可能非常熟悉,但是第四种可能没有那么熟悉,下面介绍merge的基本用法
oracle版本:10g
基本语法
MERGE INTO 要操作的表或者视图 S
USING (表、者视图或者sql)T
ON (S.字段 = T.字段) --也可以是常量如(1=1,1=0)
when matched then --当满足条件时
UPDATE SET S.ES = '4' WHERE S.WE = '1' DELETE WHERE SE = '9' --matched 必须要有update语句 ,注意更新的字段不 能是on里的字段,可以加where 条件,update后可以加delete。
when NOT matched then--当不满足条件时
insert (S.WE, S.ES) values ('2', '12');--和update一样这里不需要指定表命名,也不能指定因为dml是单表操作,注意“;”这个 要加在最后一个模块
COMMIT; --因为merge是dml语句,所以要commit当然
merge 的好处是:可以把insert ,update ,delete 写在一条语句里,减少代码量等,其他好处好没用看到
下期奉上oracle 动态sql(Excute immediate 动态SQL语句 using 绑定参数列表 returning into输出参数列表;)