PostgreSQL高级sql积累

1:----查询postgresql数据中系统表与自己建立表结构做了个对比

select cl.relname,att.attname,att.atttypid,f.* from pg_class cl

LEFT JOIN pg_attribute att on att.attrelid = cl.oid

LEFT JOIN td_f_field_info f on f.party_table_name=cl.relname and f.field_name=att.attname

-- LEFT JOIN pg_type t on

where cl.relname like 'dpm%'

and att.attname not like '........pg%'

and cl.relname not like '%pkey%'

and f.id is null

and att.attnum>0

ORDER BY cl.relname;

2:------

SELECT f.* from td_f_step_table_rel r

LEFT JOIN td_f_table_info t on r.table_id=t.id

LEFT JOIN td_f_field_info f on t.party_table_name=f.party_table_name

where r.flow_step_id='2' and r.flow_sub_step_id='4' ORDER BY t.party_table_name;

3:将表dpm_5_base_person中的数据 循环添加进 td_f_field_info

INSERT into td_f_field_info(id,party_table_name,field_name,data_type,description )

(select uuid_generate_v1(),cl.relname,att.attname,t.typname,col_description(att.attrelid,att.attnum) from pg_class cl

LEFT JOIN pg_attribute att on att.attrelid = cl.oid

LEFT JOIN td_f_field_info f on f.party_table_name=cl.relname and f.field_name=att.attname

LEFT JOIN pg_type t on att.atttypid=t.oid

where cl.relname like 'dpm_5_base_person'

and att.attname not like '........pg%'

and cl.relname not like '%pkey%'

and f.id is null

and att.attnum>0

ORDER BY cl.relname) ;

4:-- 将表字段存在但是field_info中不存在的字段插入到field_info中

INSERT into td_f_field_info(id,party_table_name,field_name,data_type,description, is_null,max_length )

(select uuid_generate_v1(),cl.relname,att.attname,t.typname,col_description(att.attrelid,att.attnum),

(case att.attnotnull when 't' then '0' else '1' end),

(CASE WHEN att.atttypmod >=4 THEN att.atttypmod- 4 WHEN att.atttypmod

from pg_class cl

LEFT JOIN pg_attribute att on att.attrelid = cl.oid

LEFT JOIN td_f_field_info f on f.party_table_name=cl.relname and f.field_name=att.attname

LEFT JOIN pg_type t on att.atttypid=t.oid

where cl.relname like 'dpm_2_6_inspect_option%'

and att.attname not like '........pg%'

and cl.relname not like '%pkey%'

and f.id is null

and att.attnum>0

ORDER BY cl.relname) ;

5:postgreSql中char类型的数据,如果长度设为8 不足8个字符的字符串会自动补空格 比如值为'123' 存到数据库里实际为'123 '

6:INSERT INTO "public"."td_f_approve_defined" ("task_id", "step_id", "step_name", "sub_step_id", "sub_step_name", "approve_role", "update_date", "update_by", "level", "version", "person_name", "create_by", "create_date", "del_flag") VALUES ('2', '1', '申请入党', '2', '党组织谈话', '4', '2018-05-07 13:50:39', '11', '1', '1', '11', '1', '2018-05-07 13:51:00', '0');

添加td_f_approval_define 表中数据

7:select * from tf_f_org where length(code)=18

select * from tf_f_org where length(code)=24 and org_name like '%海洋%'

--梁山县

select * from tf_f_org where length(code)=24 and code LIKE '000002000008000011%'

--中共青岛经济技术开发区工作委员会

select * from tf_f_org where length(code)=24 and parent_id='d367736e-57de-11e7-b7aa-0050569a68e4';

SELECT * FROM "public"."tf_f_org" WHERE "org_name" LIKE '%潍坊滨海经济技术开发区%' LIMIT 1000 OFFSET 0

汇总 单项汇总

相关推荐
zzzzzz3104 小时前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
倔强的石头_2 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
云技纵横2 天前
唯一索引 INSERT 死锁实战:5 秒复现交叉插入的 S 锁循环等待
sql·mysql
冬奇Lab3 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
ClouGence3 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
无响应de神3 天前
三、用户与权限管理
数据库·mysql
麦聪聊数据4 天前
数据服务化时代:企业数据能力输出的核心路径
数据库
shushangyun_4 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
DARLING Zero two♡4 天前
【MySQL数据库】数据类型与表约束
数据库·mysql
曹牧4 天前
Oracle EXPLAIN PLAN
数据库·oracle