Postgres använder normalt inte variabler i vanlig SQL. Men du kan gör det också:
SET foo.test = 'SELECT bar FROM baz';
SELECT current_setting('foo.test');
Läs om anpassade tillval i manualen.
I PostgreSQL 9.1 eller tidigare behövde du deklarera custom_variable_classes
innan du kunde använda det.
Men du kan inte EXECUTE
dynamisk SQL utan PL (procedurspråk). Du skulle använda en DO
kommando för att köra ad-hoc-satser (men du kan inte returnera data från det). Eller använd CREATE FUNCTION
för att skapa en funktion som kör dynamisk SQL (och kan returnera data på alla tänkbara sätt).
Se till att skydda dig mot SQL-injektion när du använder dynamisk SQL.
Relaterat:
- Finns det något sätt att definiera en namngiven konstant i en PostgreSQL-fråga?