В хранимой процедуре как установить столбец в порядке убывания
sp:
@В SQL = @SQL, с + 'порядок' + сливаются ( @Select_Fields + ',',") + 'период'
В приведенном выше коде как получить столбец периода в порядке убывания.
Что я уже пробовал:
In the above code how to get the period column in descending order.
Richard Deeming
Будьте крайне осторожны с динамическим SQL. Если какой-либо из параметров, которые вы объединяете в свой запрос, контролируются пользователем, вы откроете себя для SQL-инъекция[^] уязвимость.
Все что угодно мочь быть должен быть переданным в качестве параметра, используя процедуры sp_executesql[^].
Все что угодно не могу быть переданным в качестве параметра должно быть проверено до смерти-используйте OBJECT_ID(@name)
функция для получения идентификатора таблицы используйте sys.schemas
, sys.tables
и sys.columns
представления для проверки правильности имен таблиц и столбцов и использования QUOTENAME(@name)
функция для правильного кодирования имен.
Если вы передаете несколько имен столбцов в одном параметре, то вам нужно будет разделить их с помощью одной из многих доступных функций - например: T-SQL: наиболее практичная функция разделения[^]. Затем вам нужно проверить каждое имя столбца отдельно, прежде чем повторно объединять их.