随笔分类 - 数据库
摘要:position 获取的下标是从1开始 ,substr是0开始 ,所有得 +1 substr('123456|234567',position('|' in '123456|23456' )+1,13)
阅读全文
摘要:记录。 是这么个事,要实现一个需求,当人员表里的数据有更新后需要告知其他系统更新他们自己的人员数据。 我想了一下,表里是有时间戳字段的,那我只要监听这个时间就行,拿到数据后用存储过程把数据插入到中间表,然后其他系统从中间表更新到他自己的系统库里面 1.先创建一张所需数据的中间表 create tab
阅读全文
摘要:记录一下。 是这么个事,执行初始化脚本的时候报错了 ,原因是引用了其他模式下的表,但是这个模式还没有创建,就导致我有个视图无法创建。 其实这玩意有两个方法,要不然就判断下其他模式下的脚本是否存在,存在后你再创建这个视图。还有一个就是别放初始化脚本里,放到增补脚本里面,等有了需要的模式后再去执行。 c
阅读全文
摘要://创建用户 create user test identified by test; grant connect,resource,dba to test; //cmd 命令执行dmp文件 imp test/test@ip:7110/dsdb file=C:\Users\ds\Desktop\ds
阅读全文
摘要:查询出锁表的pid 进行中断或者取消 --取消后台操作,回滚未提交事物 select pg_cancel_backend(pid) --中断session,回滚未提交事物 select pg_terminate_backend(pid) select 'select pg_cancel_backen
阅读全文
摘要:UUID生成 -- 创建 create extension "uuid-ossp" ; -- 使用 select uuid_generate_v4() -- 创建随机函数 CREATE OR REPLACE FUNCTION get_random_number(integer, integer) R
阅读全文
摘要:记录一下。 为什么会有这个问题的原因是因为执行用的是管理员用户,pg默认拥有者是执行sql的用户也就是管理员,这样会导致创建的用户会没有这个表的权限 查询出sql语句复制直接执行就行 SELECT 'alter table ' || nsp.nspname || '.' || cls.relname
阅读全文
摘要:update_table 是要修改的表 join_table 是关联另一张表来修改update_table表的字段 update update_table set id= tmp.id from join_table as tmp where update_table.id=tmp.bm
阅读全文
摘要:下面是正常的查询多条数据,如果我要合并成列怎么办。 其实pg有自带的array_to_string函数 ,但是写法稍微有点麻烦,但是可以根据array_to_string函数自定义一个函数去简化写法。 CREATE AGGREGATE group_concat(anyelement)( sfunc
阅读全文