Postgres bruger normalt ikke variabler i almindelig SQL. Men du kan gør det også:
SET foo.test = 'SELECT bar FROM baz';
SELECT current_setting('foo.test');
Læs om tilpassede muligheder i manualen.
I PostgreSQL 9.1 eller tidligere var du nødt til at erklære custom_variable_classes
før du kunne bruge det.
Du kan dog ikke EXECUTE
dynamisk SQL uden PL (proceduresprog). Du ville bruge en DO
kommando til at udføre ad-hoc-sætninger (men du kan ikke returnere data fra den). Eller brug CREATE FUNCTION
at skabe en funktion, der udfører dynamisk SQL (og kan returnere data på enhver tænkelig måde).
Sørg for at sikre dig mod SQL-injektion, når du bruger dynamisk SQL.
Relateret:
- Er der en måde at definere en navngivet konstant i en PostgreSQL-forespørgsel?