Я напишу хранимую процедуру в PostgreSQL, которая принимает переменную (мои знания SQL близки к нулю, поэтому я прошу прощения, если вопрос очевиден).Поскольку эта переменная будет использоваться дословно в вызове, я хотел убедиться, что она правильно экранирована, чтобы избежать внедрения.
Есть ли функция, в которую я могу обернуть переменную, которая бы правильно выполняла экранирование?
Я специально хотел бы сделать это в SQL, в отличие от очистки входных данных (этой переменной) в коде, который вызывает запрос SQL (что, возможно, было бы проще).
Я удивлен, не обнаружив какой-либо заметной документации о такой функциональности, что заставляет меня полагать, что это не стандартная практика.Наиболее близким я мог быть к исходному коду lexer Postgresql , но я не могу понять, упоминается ли это правильное экранирование (и которое приведет к использованию string
в качестве u&’stringuescape’’’
, что выглядит довольно варварски)