postgresql序列函数查询 以及序列相关操作

序列相关操作(postgresql)

序列创建

create sequence public.test_sequece
  increment by 1
  minvalue 10000000
  maxvalue 9999999999
  start with 10000000
  cache 1;

序列查询

currval of sequence “test_sequence” is not yet defined in this session
查阅参考资料,发现错误原因是要查当前值,必须先取一次next:执行以下语句,执行成功:
select nextval(‘test_sequence’);
select currval(‘test_sequence’)

序列值增长至指定值(用于解决主键冲突问题)

--创建函数
CREATE OR REPLACE FUNCTION public.sequence_reset()
  RETURNS void  AS
$BODY$
DECLARE
   indexnum int ;
 begin
   for ind in 1..2 loop 
   select nextval('test_sequence') into indexnum;
    end loop ;
 end;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;
ALTER FUNCTION public.sequence_reset()
  OWNER TO testdata;

--执行函数
select  sequence_reset();
--删除函数(执行完自定义函数后一般给他删除掉,不影响其他值)
drop function  public.sequence_reset();

模糊查询自定义函数



--查看自定义的函数信息

SELECT
  pg_proc.proname AS "函数名称",
  pg_type.typname AS "返回值数据类型",
  pg_proc.pronargs AS "参数个数"
FROM
  pg_proc
    JOIN pg_type
   ON (pg_proc.prorettype = pg_type.oid)
WHERE
--   pg_type.typname != 'void'
    pg_proc.proname like '%sequence_reset%'

查询数据库中有哪些序列


--查看数据库中有哪些序列
--r =普通表, i =索引,S =序列,v =视图,m =物化视图, c =复合类型,t = TOAST表,f =外部表
select *  from pg_class where relkind='S'  

```
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PostgreSQL提供了几种模糊查询函数,用于在数据库中进行模糊匹配和搜索。以下是一些常用的模糊查询函数: 1. LIKE:LIKE操作符用于在字符串中进行模式匹配。它使用通配符来表示模式,其中 "%" 表示任意字符序列(包括空字符),而 "_" 表示任意单个字符。例如,使用"LIKE 'abc%'"可以匹配以"abc"开头的任何字符串。 2. ILIKE:ILIKE操作符与LIKE类似,但是它不区分大小写。例如,使用"ILIKE 'abc%'"可以匹配"abc"、"ABC"或"Abc"开头的字符串。 3. SIMILAR TO:SIMILAR TO操作符使用正则表达式来进行模式匹配。它比LIKE更强大,可以使用更复杂的模式。例如,使用"SIMILAR TO 'a(b|c)%'"可以匹配以"a"开头,后跟"b"或"c"的任何字符串。 4. REGEXP_MATCHES:REGEXP_MATCHES函数使用正则表达式来匹配字符串,并返回匹配的子字符串数组。它可以用于更复杂的模式匹配和提取操作。例如,使用"SELECT REGEXP_MATCHES('abc123def456', '[0-9]+')"可以返回一个包含"123"和"456"的数组。 5. REGEXP_REPLACE:REGEXP_REPLACE函数使用正则表达式来替换字符串中的匹配项。它可以用于替换特定模式的字符串。例如,使用"SELECT REGEXP_REPLACE('abc123def456', '[0-9]+', 'X')"可以将字符串中的数字替换为"X",结果为"abcXdefX"。 这些是一些常用的模糊查询函数,你可以根据具体的需求选择适合的函数来进行模糊查询和匹配操作

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值