PG的Upsert语法多种实现

PG的Upsert语法多种实现,第1张

本文使用以下表做测试例子

insert on conflict do)。当插入遇到约束错误时,直接返回或者改为执行UPDATE。

如果希望在插入冲突之后什么都不做:

构造存储过程函数

调用函数

select id, age)

若数据存在则更新,不存在则插入。

使用了一个简单的表作为测试:

对每种执行方式尝试3次,取平均值。

嗯,测试比较简陋,也不太严格,但是可以看出大致的使用优势。

所以with语法不推荐使用;在PG95之后的版本,还是使用onConflict语法吧,毕竟语法简单,更不容易出错。

PG95之前版本建议使用函数过程。注意必须对每个表单独设置函数。但是函数定义语法较繁琐。

祝好运!

shutdown命令是最常用的关闭系统命令,不仅可以用于立即关闭系统,还可以在指定时间关闭系统。

gp数据库常用 *** 作:1、启动数据库:gpstartgpstart正常起数据库gpstart-R维护模式,普通用户无法登陆,只有超级用户能登陆gpstart-m只起master,起了后,只能用utility模式去登录master。utility模式登录,只连某个实例。

2、停止数据库:gpstopgpstop正常停止数据,如果数据库还有连接,就无法停止gpstop-Msmart同gpstopgpstop-Mfast停止数据库,如果有连接的话,会发cancle信号,等待连接中断,如果等待超时,则强制中断连接gpstop-Mimmediate强制中断所有连接gpstop-r重启数据库gpstop-m只停master,最直接的禁止其他用户登陆数据库的方法

3、检查数据库状态:gpstategpstate查看基本的数据库状态统计数据gpstate-s查看数据库primary和mirror状态的详细信息gpstate-e查看失败实例的具体信息gpstate-m查看mirror实力状态gpstate-f查看standby的状态

--改成这样 你的insert语法有问题 你可以显示出来看看

alter PROCEDURE [dbo][LP_TABLE_1]

( @Name VARCHAR(20))

AS

BEGIN

DECLARE @sqlStr NVARCHAR(2000);

SET @sqlStr = 'INSERT INTO Table_1 (name) VALUES ('+'''' + @Name + ''''+')'

EXECUTE (@sqlStr)

--print (@sqlStr)

END

以上就是关于PG的Upsert语法多种实现全部的内容,包括:PG的Upsert语法多种实现、Linux关闭gp数据库命令、PG数据库存储过程包含存储过程报语法错误,麻烦大神看看是什么问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10177649.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存