Member 12766235 Ответов: 1

В хранимой процедуре как установить столбец в порядке убывания


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: наиболее практичная функция разделения[^]. Затем вам нужно проверить каждое имя столбца отдельно, прежде чем повторно объединять их.

1 Ответов

Рейтинг:
1

F-ES Sitecore

@SQL = @SQL + ' ORDER BY ' + COALESCE ( @Select_Fields + ',','') + ' Period DESC'


SQL ORDER BY Keyword[^]