PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Variabili definite dall'utente in PostgreSQL

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?