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

Нетрадиционный параметр   Найти похожие ветки 

 
Patrick   (2006-12-01 14:56) [0]

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


 
evvcom ©   (2006-12-01 15:11) [1]

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


 
evvcom ©   (2006-12-01 15:16) [2]

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

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


 
ANB ©   (2006-12-01 15:17) [3]


> Patrick   (01.12.06 14:56)

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


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

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

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


 
ANB ©   (2006-12-01 16:40) [5]


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

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


 
Sergey13 ©   (2006-12-01 16:53) [6]

> [0] Patrick   (01.12.06 14:56)

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


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

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



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

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



Память: 0.46 MB
Время: 0.13 c
2-1170747319
Neket
2007-02-06 10:35
2007.02.25
FTP


2-1170858625
C@N
2007-02-07 17:30
2007.02.25
Старый добрый DOS...


2-1170944748
Цукор5
2007-02-08 17:25
2007.02.25
Excel


2-1170786552
Михаил_
2007-02-06 21:29
2007.02.25
TDBF


2-1170759824
inkvizitor
2007-02-06 14:03
2007.02.25
stringgrid ->excel




   Наверх