knrt.net
当前位置:首页 >> orClE里的mErgE into方法怎么在pgsql里实现 >>

orClE里的mErgE into方法怎么在pgsql里实现

pgsql无法实现,只能自己写function来封装.其实oracle的merge into就是如果记录不存在就插入,否则就更新,自己按照这个思路写过程就可以了.

merge语句不能更新on子句引用的字段,你这里on子句 on (us.id=us2.id)引用了us2.id字段,在update子句又想更新us2.id,这是不允许的,因此报错解决办法就是去掉update子句里更新us2.id的部分merge into us2using uson (us.id=us2.id)when matched then update set us2.name=us.name,us2.password=us.passwordwhen not matched then insert values(us.id,us.name,us.password)

写个触发器 插入之前执行触发器-- 创建一个测试表 create table test(id int primary key , name varchar(50));-- 触发器 插入前ID如果已经存在则替换name的值CREATE OR REPLACE function _replace() RETURNS TRIGGER AS $INSERT$declare

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.knrt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com