Postgre Sql 和Oracle sql语句的区别记录
最近从oracle 切换到 postgre sql
可是数据模型设计工具是基于oracle的,所以,批量导出的sql要统一修改。
记录一下修改要点:
建表语句:
- oracle Number -> PgSql integer ,整型,不需要限定长度, -2147483648 到 +2147483647。
- oracle varchar2 -> PgSql charater ,长度限定不变。
- comment on column 语法通用。
- constraint 语法通用。
- if exist语法 PgSql不支持。
序列在PostgreSql中进行查询和创建:
–查看数据库中有哪些序列–r =普通表, i =索引,S =序列,v =视图,m =物化视图, c =复合类型,t = TOAST表,f =外部表
select * from pg_class where relkind='S'
–新建序列
CREATE SEQUENCE "public"."seq_name"
INCREMENT 1
MINVALUE 1
MAXVALUE 2147483647
START 1
CACHE 1;
postgresql 支持jsonb字段内的key value查询:
select * from wms_message_log l,jsonb_array_elements(l.body->’detailList’) as aes,
jsonb_each(aes) doc
where doc.key=’recordCode’
and doc.value::TEXT like ‘%PDON912715153234956288%’;
SELECT * FROM “sc_rw_result_record” rr
where (business_data::json#>>'{expressCode}’)::text in (”)
发表评论