下面的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'));
答案 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
在命令行上设置变量。