Форум: "Базы";
Текущий архив: 2007.02.25;
Скачать: [xml.tar.bz2];
ВнизНетрадиционный параметр Найти похожие ветки
← →
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 вся ветка
Форум: "Базы";
Текущий архив: 2007.02.25;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.051 c