Как вы используете переменные сценария в psql?
Последнее слово о переменных psql PSQL:
Они не расширяются, если psql вы заключаете их в одинарные variable кавычки в операторе SQL. Таким pgsql образом, это не работает:
SELECT * FROM foo WHERE bar = ':myvariable'
Чтобы variable преобразовать в строковый variables литерал в операторе SQL, вы vars должны включить кавычки в sql-query набор переменных. Однако sql-statement значение переменной уже должно sql-statement быть заключено в кавычки, а psql это значит, что вам нужен sql-select второй набор кавычек, а внутренний sql-select набор должен быть экранирован. Таким postgresql образом, вам нужно:
\set myvariable '\'somestring\'' SELECT * FROM foo WHERE bar = :myvariable
РЕДАКТИРОВАТЬ: начиная variables с PostgreSQL 9.1 вместо этого postgres можно написать:
\set myvariable somestring SELECT * FROM foo WHERE bar = :'myvariable'
sql
postgresql
variables
psql
Как вы используете переменные сценария в psql?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.