Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Нетрадиционный параметр [D7]


Patrick ©   (2006-12-01 14:56:00) 

Такой вопрос у меня есть строка, что то вроде '1;2;3;4;5', и мне необходимо ее еспользовать как параметр запроса в следующем виде
select * from a where a.id in (1,2,3,4,5)
пробовал replace(...), но что-то никак не выходит, наверное нужна какая-то подстановка. Может подскажите. Заранее благодарен.


Sergey Masloff   (2006-12-03 08:58:00) [1]

ANB ©   (01.12.06 16:40) [5]
>Непараметризированные запросы - весьма хреновы для серверов, т.к. >портят процедурный кэш.
Если там 2-3 варианта то ничего не испортят. Остальные-то параметры никто не мешает использовать.
Если вариантов больше нужно заменять на подзапрос конечно


Sergey13   (2006-12-01 16:53:00) [2]

> [0] Patrick   (01.12.06 14:56)

А что за БД и какие компоненты? DOA например позволяет делать такие штуки. В результате это конечно все равно динамический SQL, но в проге выглядит как полноценный параметр.


ANB   (2006-12-01 16:40:00) [3]


> Anatoly Podgoretsky ©   (01.12.06 16:34) [4]

Непараметризированные запросы - весьма хреновы для серверов, т.к. портят процедурный кэш.
Правда, читал я, что в некоторых случаях непараметризированные запросы работают лучше параметризированных, но это очень редкие случаи.


Anatoly Podgoretsky   (2006-12-01 16:34:00) [4]

> ANB  (01.12.2006 15:17:03)  [3]

Вообщето нормально, таже склейка


ANB   (2006-12-01 15:17:00) [5]


> Patrick   (01.12.06 14:56)

К сожалению, списки в IN очень тяжко параметризируются. Хоть и хреново, но придется обойтись заменой на запятые и подстановкой склейкой на клиенте.


evvcom   (2006-12-01 15:16:00) [6]

> [1] evvcom ©   (01.12.06 15:11)
> Похоже не то, что в моем.

Хотя может и то же, но тогда никак. Здесь только динамический SQL.


evvcom   (2006-12-01 15:11:00) [7]

Dst := AnsiReplaceStr(Src, ';', ',');
Что в твоем понимании "параметр"? Похоже не то, что в моем.


Наверх

Титульная страница Поиск, карта сайта Написать письмо