在 PostgreSQL 中,你可能會遇到需要根據查詢結果動態產生表名的場景。這可以透過利用 EXECUTE 語句結合 PL/PgSQL 來實現。
要達到此目的,您可以採取下列步驟:
將DO 區塊或 PL/PgSQL 中的動態 SQL語句函數:
DO $$ BEGIN EXECUTE format( 'CREATE TABLE %I AS SELECT * FROM backup', 'backup_' || to_char(CURRENT_DATE, 'yyyy-mm-dd') ); END; $$ LANGUAGE plpgsql;
利用格式說明符:
format() 函數提供%I(標識符)和%L(識別碼)和%L(文字)分別用於正確引用標識符和文字的格式說明符。
在此例如,%I 包圍表名「backup_」|| to_char(CURRENT_DATE, 'yyyy-mm-dd') 帶雙引號,確保它被正確識別為識別碼。
依照下列步驟,您可以動態建立使用從 PostgreSQL 中的查詢傳回的字串的表。
以上是如何使用字串作為表名動態建立 PostgreSQL 表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!