簡體   English   中英

PostgreSQL 在命令中替換區分大小寫的變量

[英]PostgreSQL substitute case sensitive variables in a command

您好,我在 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()、quote_indent() 等。有什么想法嗎?

得到了這個寶石

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

令人沮喪的是,這花了我幾個小時的時間......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM