使用特定值在pgAdmin中创建函数/变量/参数

时间:2014-06-03 13:57:22

标签: postgresql variables parameters

不确定这是否可行以及最佳方式是什么,但我有一个值列表(比如'ACBC','ADFC','AGGD'等)随着时间的推移而增长。我想在 pgADmin 中使用这些值作为SQL语句的一种变量/参数; e.g:

代码= {'ACBC','ADFC','AGGD'}

SQL:Statement => SELECT * FROM xxx WHERE SUBSTRING IN (Codes)

是否可以通过变量,参数,函数或其他任何方式实现?

1 个答案:

答案 0 :(得分:0)

我可以考虑以下选项:

1)创建单独的表

create table qry_params(prm_value varchar);
insert into qry_params values
  ('xxx'),
  ('yyy'),
  ('zzz');

select * from xxx where substring in (select prm_value from qry_params)

每当有新参数时,只需将其添加到表中即可。

2)查询顶部的CTE

使用如下查询:

with params (prm_value) as (select values ('xxx'), ('yyy'), ('zzz'))
select * from xxx where substring in (select prm_value from qry_params)

每当你有新参数时,你只需要将它添加到CTE。