PostgreSQL替换命令中区分大小写的变量

aemubtdh  于 2023-01-08  发布在  PostgreSQL
关注(0)|答案(1)|浏览(148)

嗨,我在plpgsql脚本中有一些变量,它们都是区分大小写的。

schema := 'myschema';
table_name := 'MyTable' 
column_name := 'MyColumn'

我需要把这些变量放在一个简单的语句中:

select max(column_name) from schema.table_name.

我觉得我在和PostgreSQL的大小写敏感性作斗争。我基本上需要重新创建这个:

select max("MyColumn") from myschema."MyTable";

对于我的生活,我不能得到这个工作,显然是太愚蠢的PostgreSQL。尝试与EXECUTE(),EXECUTE()w/ FORMAT(),引号_indent()等。有什么想法?

mzsu5hc0

mzsu5hc01#

用这颗宝石得到的

execute format('select max(%I) from %s.%I', column_name, schema_name, table_name);

令人沮丧的是,这花了我生命中的几个小时...

相关问题