我想在Postgresql中创建select Query。我的代码是
select * into concat('production.',layer_name) from concat('staging.',layer_name);
但是有问题
ERROR: "concat" is not a known variable
LINE 20: select * into concat('production.'layer_name) from concat('...
我无法理解为什么。
有人能帮助我吗?
答案 0 :(得分:1)
Postgres中有一个concat()
函数(自v.9.1起)。对于可能涉及NULL
值的字符串连接很有用。但是你的语法只是对Postgres解析器的胡言乱语。通常不可能在纯SQL中使用值(或函数的返回值)作为标识符。你需要dynamic SQL in a plpgsql function。
但你的例子似乎也不需要。是否要将行从一个表复制到另一个表?如果是这样的话:
INSERT INTO production.layer_name
SELECT * FROM staging.layer_name