SQL параметризованный запрос с именами вместо вопросительных знаков

Вопрос:

Есть ли способ использовать имена вместо вопросительных знаков для параметризованных запросов? Если да, может ли кто-нибудь предложить какой-нибудь материал, объясняющий, как это сделать/синтаксис?

Подробнее:

Например, если у меня есть что-то вроде:

INSERT INTO inventory VALUES(?)

Возможно ли вместо этого иметь что-то подобное, что делает то же самое, что и вопросительный знак:

INSERT INTO inventory VALUES("prices")

Я пытался проверить, сработает ли это сам, прежде чем публиковать вопрос, но это не сработало. Вот я и подумал спросить, возможно ли это.

Я чувствую, что если у вас действительно длинный запрос, скажем, с 20 параметрами, вам не нужно считать вопросительные знаки, чтобы убедиться, что у вас достаточно параметров, когда вы что-то меняете. Кроме того, я думаю, что это может сделать код немного более читабельным (особенно если у вас есть много параметров, которые нужно отслеживать).

Я новичок в sql, поэтому я не уверен, что это имеет большое значение (для этого вопроса), если я добавлю, что использую postgresql.

Примечание.

Аналогичный вопрос здесь, но у него не было полезного ответа


person JustBlossom    schedule 02.03.2016    source источник
comment
Не могли бы вы описать контекст? Что будет оценивать параметризованный оператор SQL? Какой API вы рассматриваете?   -  person mauro    schedule 02.03.2016


Ответы (1)


Я предлагаю инкапсулировать большой запрос в функцию, где вы можете использовать имена параметров. Один пример (из многих):

Вы даже можете установить значения по умолчанию и вызвать функцию с именованными параметрами и т.д.:

person Erwin Brandstetter    schedule 02.03.2016