在PostgreSQL的psql中使用脚本变量
PostgreSQL中自定义脚本使用变量的方式与MS SQL Server不同。在psql中,使用set
命令创建变量:
\set myvariable value
在查询中替换变量,使用以下语法:
SELECT * FROM :myvariable.table1;
或者,你可以在条件语句中使用它:
SELECT * FROM table1 WHERE :myvariable IS NULL;
从psql 9.1开始,可以在引号内展开变量:
\set myvariable value SELECT * FROM table1 WHERE column1 = :'myvariable';
在psql 9.1之前的版本中,当在条件字符串查询中使用变量时,例如:
SELECT * FROM table1 WHERE column1 = ':myvariable';
需要在变量本身包含引号:
\set myvariable 'value'
对于字符串操作,请考虑以下技巧:
\set quoted_myvariable '\'' :myvariable '\''
这会创建相同字符串的带引号和不带引号的变量,允许你执行以下操作:
INSERT INTO :myvariable.table1 SELECT * FROM table2 WHERE column1 = :quoted_myvariable;
以上是如何在PostgreSQL的psql中有效使用变量?的详细内容。更多信息请关注PHP中文网其他相关文章!