dan*_*car 9 regex sql postgresql
如果是,请提供一个关于lookbehind或替代的示例.
我正在尝试提取序列名称而不是'
select table_name,
column_name,
regexp_replace(substring(column_default from '''.*(?='')'),'''','','g') as sequence
FROM information_schema.columns
Run Code Online (Sandbox Code Playgroud)
最后我检查了它在sql级别不支持它,但如果绝对必要,你可以使用plperl来解决限制.(重复的regexing通常不属于DB级别,但......)
在您的特定示例中,请考虑使用否定类:( [^']
根据需要转义它)或非贪婪的通配符:.*?
.
除此之外,您需要手动创建序列,其名称将始终为:
tablename_colname_seq
Run Code Online (Sandbox Code Playgroud)
此外,如果您在应用中使用多个模式和搜索路径,则以下两个默认值具有不同的行为:FWIW:
nextval('foo'::regclass) -- find foo once
nextval('foo'::text) -- find foo each time
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3029 次 |
最近记录: |