In PostgreSQL kann es zu einem Szenario kommen, in dem Sie dynamisch einen Tabellennamen aus einem Abfrageergebnis generieren müssen . Dies kann durch die Nutzung der EXECUTE-Anweisung in Kombination mit PL/PgSQL erreicht werden.
Um dies zu erreichen, können Sie die folgenden Schritte ausführen:
Schließen Sie die ein dynamische SQL-Anweisung in einem DO-Block oder PL/PgSQL Funktion:
DO $$ BEGIN EXECUTE format( 'CREATE TABLE %I AS SELECT * FROM backup', 'backup_' || to_char(CURRENT_DATE, 'yyyy-mm-dd') ); END; $$ LANGUAGE plpgsql;
Formatbezeichner verwenden:
Die format()-Funktion stellt %I (Bezeichner) und %L (Literal) bereit. Formatbezeichner für die korrekte Anführungszeichenfolge von Bezeichnern bzw. Literalen.
In diesem Beispiel umgibt %I den Tabellennamen 'backup_' || to_char(CURRENT_DATE, 'yyyy-mm-dd') mit doppelten Anführungszeichen, um sicherzustellen, dass es korrekt als Bezeichner erkannt wird.
Durch Befolgen dieser Schritte können Sie dynamisch eine Tabelle erstellen Verwenden einer Zeichenfolge, die von einer Abfrage in PostgreSQL zurückgegeben wird.
Das obige ist der detaillierte Inhalt vonWie erstelle ich dynamisch PostgreSQL-Tabellen mit einer Zeichenfolge als Tabellennamen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!