Postgres normalmente non usa variabili in semplice SQL. Ma tu puoi fallo anche tu:
SET foo.test = 'SELECT bar FROM baz';
SELECT current_setting('foo.test');
Leggi le opzioni personalizzate nel manuale.
In PostgreSQL 9.1 o precedente era necessario dichiarare custom_variable_classes
prima che tu potessi usarlo.
Tuttavia, non puoi EXECUTE
SQL dinamico senza PL (linguaggio procedurale). Dovresti usare un DO
comando per eseguire istruzioni ad hoc (ma non puoi restituire dati da esso). Oppure usa CREATE FUNCTION
per creare una funzione che esegua SQL dinamico (e può restituire dati in qualsiasi modo immaginabile).
Assicurati di proteggerti dall'iniezione di SQL quando usi l'SQL dinamico.
Correlati:
- C'è un modo per definire una costante denominata in una query PostgreSQL?