【发布时间】:2013-11-09 06:58:21
【问题描述】:
我想在 Postgresql 中创建选择查询。我的代码是
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('...
我不明白为什么。
谁能帮帮我?
【问题讨论】:
-
您不能使用表达式指定表名——它必须是一个普通的表名。此外,您正在做的事情表明数据库设计不佳。最好有一个表,并给它一个额外的字段,该字段可以包含
'production'或'staging'- 最好有一个FK链接到一个有2行的主表,一个用于production,一个用于staging. -
我同意。暂存、生产等不应该有不同的表。这些要么需要是单独的数据库,一个用于每个环境,要么在一个表中有一个字段用于暂存、生产等,就像前面的评论者提到的那样。
标签: database string function postgresql concat