Вниз
Скачать: CL | DM;

тип параметра "множество"   Найти похожие ветки 

← →
Bogdan1024 ©   (2007-07-13 14:08) [0]

Хочу в MSSQL2005 создать хранимую процедуру вроде такой:
SELECT * FROM A WHERE ID IN @IDs
Какого типа должен быть параметр @IDs? Как это записать?


← →
Ega23 ©   (2007-07-13 14:12) [1]

varchar
а выполнять - exec("SELECT * FROM A WHERE ID IN (" + @IDs + ")");


← →
MsGuns ©   (2007-07-13 14:23) [2]

Если невозможно заранее определить кол-во входных параметров, то мы делаем просто: параметр один - строковый, а ХП еге "режет" на кусочки, которые и пихает в запросы например


← →
Bogdan1024 ©   (2007-07-13 15:03) [3]

Ega23, спасибо!!! Но такой же способ не позволяет круто скомпилировать хранимую процедуру, жаль :(
MsGuns, а что такое ХП?


← →
Ega23 ©   (2007-07-13 15:09) [4]


> Ega23, спасибо!!! Но такой же способ не позволяет круто
> скомпилировать хранимую процедуру, жаль :(


Почему????


> MsGuns, а что такое ХП?


ХП - Хранимая Процедура


← →
Desdechado ©   (2007-07-13 15:16) [5]

Это не параметризуется, увы.
А динамическая лепка хоть и красива, но больно бьет по серверу.


← →
Desdechado ©   (2007-07-13 15:17) [6]

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


← →
Bogdan1024 ©   (2007-07-13 15:41) [7]

Ega23> Почему????
Я> Ну, я это имел ввиду:
Desdechado> Динамическая лепка хоть и красива, но больно бьет по серверу.
Я> :)


← →
Desdechado ©   (2007-07-13 15:54) [8]

Еще как вариант, эти натыканные юзером можно складывать во временную таблицу, и потом юзать ее. Но это подходит в случае, когда много запросов используют одно множество. Для одного-двух это хуже, чем динамическая лепка.


← →
Jan1 ©   (2007-07-13 15:55) [9]


> SELECT * FROM A WHERE ID IN @IDs

в чем сакральный смысл такой ХП?


← →
Ega23 ©   (2007-07-13 16:05) [10]


> в чем сакральный смысл такой ХП?


Ну во-первых она может и гораздо сложнее быть.
А во-вторых, лично у меня всё только через ХП.


← →
Jan1   (2007-07-13 16:10) [11]


> Ну во-первых она может и гораздо сложнее быть.

вопрос был именно про такую ХП.


> А во-вторых, лично у меня всё только через ХП.

ничего хорошего в крайностях нет...


← →
Bogdan1024 ©   (2007-07-13 16:43) [12]

> Ну во-первых она может и гораздо сложнее быть.
> А во-вторых, лично у меня всё только через ХП.
Yes to All



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.013 c
2-1194215119
SveTTT
2007-11-05 01:25
2007.11.25
Условие на пустой грид


2-1194190006
VladI
2007-11-04 18:26
2007.11.25
Совсем глупость...


15-1193044810
@Ujin
2007-10-22 13:20
2007.11.25
imgedit.exe - где он? А чем теперь делать ресурсы dcr ???


15-1193108125
Slider007
2007-10-23 06:55
2007.11.25
С днем рождения ! 23 октября 2007 вторник


6-1164519806
DRtM
2006-11-26 08:43
2007.11.25
Как определить по редиректу реальное имя файла в сети




   Наверх