Postgres gebruikt normaal gesproken geen variabelen in gewone SQL. Maar u kunt doe dat ook:
SET foo.test = 'SELECT bar FROM baz';
SELECT current_setting('foo.test');
Lees over aangepaste opties in de handleiding.
In PostgreSQL 9.1 of eerder moest je custom_variable_classes
. declareren voordat je dat kon gebruiken.
U kunt echter niet EXECUTE
dynamische SQL zonder PL (proceduretaal). Je zou een DO
. gebruiken commando voor het uitvoeren van ad-hoc-instructies (maar u kunt er geen gegevens van retourneren). Of gebruik CREATE FUNCTION
om een functie te maken die dynamische SQL uitvoert (en gegevens op elke denkbare manier kan retourneren).
Zorg ervoor dat u zich beschermt tegen SQL-injectie wanneer u dynamische SQL gebruikt.
Gerelateerd:
- Is er een manier om een benoemde constante in een PostgreSQL-query te definiëren?