Postgresql学习

插入和更新一条语句

insert into user_setting values (100,'test','ok') on conflict(user_id,set_key)  do update set set_value='ok';

要求conflict()中的字段,必须是唯一索引的参与字段,可以是多个字段,不能多也不能少,必须和索引一致。否则会报错

update 更新是否成功不影响变量 FOUND,只影响ROW_COUNT
 

如果不加"begin....commit/rollback",每一个SQL语句都是一个transaction,都有自己的transaction ID:

关于存储过程,其实现在11.0以前说的存储过程是函数,11.0以后才支持存储过程

函数内部不能使用事务,存储过程内部可以使用事务

null参与运算 :

   使用 coalesce函数之后便可处理null的问题:

     music=# select coalesce(num1,0)+coalesce(num2,0) from test_null

null字段不占用空间  而 mysql的null是占用空间的。所以为空为0的情况尽量用null

   https://www.cnblogs.com/stephen-liu74/archive/2012/06/06/2312759.html

POSTGRESQL 高级特性

https://blog.youkuaiyun.com/MyySophia/article/details/82317117

关于事务

https://my.oschina.net/liuyuanyuangogo/blog/497929

事务中的显式控制

https://my.oschina.net/liuyuanyuangogo/blog/499460#OSC_h2_2

 

索引

https://blog.youkuaiyun.com/jubaoquan/article/details/78850899

 

分区表

pg10: https://blog.youkuaiyun.com/pg_hgdb/article/details/80475234

pg11:https://blog.youkuaiyun.com/horses/article/details/83538832

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值