pg和oracle比较,PostgreSQL和Oracle用法上的一些区别

(1 ) 注意增加约束时的写法,和ORACLE 略有不同

Oracle:

ALTER TABLE SCHEMA.PREFIX_INFO ADD (

CONSTRAINT PK_PREFIX_INFO PRIMARY KEY (INFO_ID));

PostgresQL:

alter table schema.prefix_info add constraint prefix_info_pkey primary key(info_id);

(2 )系统默认的最大值与ORACLE 不同

Oracle:

CREATE SEQUENCE PREFIX_INFO_SEQUENCE

INCREMENT BY 1

START WITH 582

MINVALUE 1

MAXVALUE 9999999999999999999999999999

NOCYCLE

CACHE 20

NOORDER;

PostgresQL:

CREATE SEQUENCE schema.prefix_info_sequence

increment 1

minvalue 1

maxvalue 9223372036854775807

start 582

cache 20;

(3 )PostgresQL 中的 ||用 法与其他数据库不同:select a||b from table1;当a 或b 其中一个为null 时, 该查询返回null ,

(4 )PostgresQL 中没有concat 函数,且由于|| 用法的问题,无法使用|| 替换,解决 方法为在public schema 中创建函数concat

create or replace function concat(text, text)

returns text as

$body$select coalesce($1,'') || coalesce($2,'')$body$

language 'sql' volatile;

alter function concat(text, text) owner to postgres;

-- 无需特殊授权即可在其他schema 中使用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值