![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Нетрадиционный параметр [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, ';', ',');
Что в твоем понимании "параметр"? Похоже не то, что в моем.