Postgres обикновено не използва променливи в обикновен SQL. Но вие можете направете и това:
SET foo.test = 'SELECT bar FROM baz';
SELECT current_setting('foo.test');
Прочетете за персонализираните опции в ръководството.
В PostgreSQL 9.1 или по-стара версия трябваше да декларирате custom_variable_classes
преди да можете да го използвате.
Въпреки това, Вие не можете EXECUTE
динамичен SQL без PL (процедурен език). Ще използвате DO
команда за изпълнение на ad-hoc оператори (но не можете да върнете данни от нея). Или използвайте CREATE FUNCTION
за да създадете функция, която изпълнява динамичен SQL (и може да връща данни по какъвто и да е начин).
Не забравяйте да се предпазите от SQL инжектиране, когато използвате динамичен SQL.
Свързано:
- Има ли начин да се дефинира именувана константа в PostgreSQL заявка?