powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Сортировка
4 сообщений из 4, страница 1 из 1
Сортировка
    #32036550
S/S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
S/S
Гость
А как можно через переменную в процедуре определить порядок сортировки? чтото типа

Alter PROCEDURE "sp_Catalogue" @SortID char(2) AS

SELECT f1, f2, f3 FROM TBL
ORDER BY
@SortID
...
Рейтинг: 0 / 0
Сортировка
    #32036551
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://sql.parking.ru/forum/actualthread.aspx?bid=16&tid=9738
На самом деле этот вопрос там освещен вполне серьезно и профессионально
...
Рейтинг: 0 / 0
Сортировка
    #32036589
S/S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
S/S
Гость
Усложним, а если так то конструкция CASE работать не будет

Alter PROCEDURE "sp_Catalogue" @SortID char(2) AS

SELECT
CASE
WHEN 1 = 1 THEN f1+f2
END
AS ff1,
CASE
WHEN 2 = 2 THEN f2+f1
END
AS ff2
FROM TBL
ORDER BY
@SortID
...
Рейтинг: 0 / 0
Сортировка
    #32036594
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чего тут усложнять-то? Если не нравятся идеи с CASE,
то всегда можно использовать динамик.

Alter PROCEDURE "sp_Catalogue" @SortID char(2) AS
execute ('SELECT CASE WHEN 1 = 1 THEN f1+f2 END '+
'AS ff1, CASE WHEN 2 = 2 THEN f2+f1 END AS ff2 FROM TBL '+
'ORDER BY '+@SortID)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Сортировка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]