如何在PostgreSQL中替换变量

时间:2014-05-07 15:00:30

标签: sql postgresql

下面的Oracle查询通过替换变量将数据插入表中。我如何在PostgreSQL中实现同样的目标?

INSERT INTO control_threshold (threshold_id, group_name, description, sql, low_value, high_value)
VALUES(threshold_seq.nextval, '&2', '&1',  TRIM('&5' || '&6' || '&7' || '&8' || '&9'),
trim('&3'), trim('&4'));

1 个答案:

答案 0 :(得分:1)

我认为最接近SQL Developer的工具是pgAdmin,它通常与PostgreSQL一起安装。但它没有相同的功能集。

要替换pgAdmin中的参数,我认为您必须编写存储过程。

psql,PostgreSQL命令行客户端,您可以设置变量,并且可以在SQL查询中使用它们。

sandbox=# \set this_year 2014
sandbox=# select cal_date
sandbox-# from calendar
sandbox-# where year_of_date = :this_year   -- Variable substitution
sandbox-# order by cal_date;
  cal_date  
------------
 2014-01-01
 2014-01-02
 2014-01-03
 2014-01-04
 2014-01-05
 2014-01-06
 2014-01-07
...

在psql中,您可以使用\set元命令设置变量,也可以使用-v assignment--set=assignment--variable=assignment在命令行上设置变量。