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

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

Like [D6]


Страницы:   1 2

Ann ©   (2003-05-26 12:48:00) 

Добрый день!
Подскажите пожалуйста, в чем моя ошибка.
Пишу в хранимую процедуру
for select spraddr.name from spraddr
where spraddr.code like :stroka
into: stroka2
ничего не возвращает. А если явно указать там же
where spraddr.code like "670000000000000" тогда находит записи.
В чем ошибка?


Ann   (2003-05-26 14:50:00) [1]

всем большое спасибо! :)


Zacho   (2003-05-26 14:42:00) [2]


> Ann © (26.05.03 14:33)

В смысле подробнее ? Не используется индекс для like :param и все тут. При STARTING WITH :param и LIKE <значение>% (именно конкретное значение, а не параметр) индекс может использоваться.
Вообще, лучше придумай другой способ, чем несколько запросов с like.


Ann   (2003-05-26 14:33:00) [3]


> Zacho © (26.05.03 14:27)

это как? объясни пожалуйста поподробнее


Stas   (2003-05-26 14:33:00) [4]

Может у тебя сервак медленный ?


Zacho   (2003-05-26 14:27:00) [5]


> Ann © (26.05.03 14:21)

Естественно, при like :param индекс не используется, индекс может использоваться только при STARTING WITH и LIKE <значение>%


Ann   (2003-05-26 14:21:00) [6]

ага.. проиндексировала.. но все равно не так быстро как хотелось бы..


Stas   (2003-05-26 14:17:00) [7]

> bushmen © (26.05.03 14:12)
Даже если в мощности разницы нет, все равно сервер обрабатывает. Только если это хп , то он получил ссылку на нее и обработал, А если это выборка, то теряется время на передачу всех параметров.


bushmen   (2003-05-26 14:12:00) [8]

> Ann ©
Так как у тебя по идее сервер мощнее пользовательской машины, то лучше в хранимых процедурах. Ты, надеюсь, проиндексировала таблицу по этому полю?


Ann   (2003-05-26 14:10:00) [9]

Субд FireBird


Stas   (2003-05-26 14:09:00) [10]

Лучше в хранимых процедурах.
А что у тебя за СУБД ?


Ann   (2003-05-26 14:08:00) [11]

И еще может посоветуете.. Дело в том, что в таблице 670 тыс. записей, а куча выборок.. она ели ворочается.. как лучше организовать выбоки.. на клиентской части в селекте или в хранимых процедурах? есть ли разница?


Stas   (2003-05-26 14:01:00) [12]

Может лучше сделать так ?
Query.Sql.Clear
Query.SQL.Add( select * from adres_select
("670___000"))


bushmen   (2003-05-26 13:57:00) [13]

> Ann ©
Нет проблем


Zacho   (2003-05-26 13:55:00) [14]


> Ann © (26.05.03 13:46)

Начиная с IB 6.0 есть функция SUBSTRING(fieldname FROM n FOR m), не проще ли воспользоваться ей ?


Ann   (2003-05-26 13:54:00) [15]


> bushmen © (26.05.03 13:51)

Спасибо!


bushmen   (2003-05-26 13:51:00) [16]

Тебе достаточно одного "%", чтобы на том месте любое количество любых символов. Чтобы было три любых символа, надо ставить "___" (три символа подчеркивания)


Ann   (2003-05-26 13:46:00) [17]

Max Zyuzin ©
да мне нужно по этой строке сделать несколько запросов.
первый: выбираю те у который три первых символа любые, остальные фиксировано нули
второй что первый три чила фиксированы,следующие три любые, потом нули
третий.. и так далее, пока не проверю все 15 символов..


Zacho   (2003-05-26 13:40:00) [18]

Лучше вообще не использовать TStoredProc, TIBStoredProc.
Подробности - http://www.ibase.ru/devinfo/ibstp.htm


bushmen   (2003-05-26 13:39:00) [19]

Open не надо
Просто dm.Proc_adres.ExecProc


Ann   (2003-05-26 13:39:00) [20]


> Соловьев © (26.05.03 13:27)


Что-то я совсем запуталась.. я писала в query
select * from adres_select
(:result)
то есть выбирала туда уже результат
это неправильно?
и еще вопрос, если мне нужно выбрать значение у которого будут первые три числа постоянные, потом три числа могут быть любые, а потом заканчивается число на еще допустим три постоянных числа, то мне получается нельзя так писать
допустим 670%%%000 то есть если я напишу три% они мне не дают гарантию что там будет три любых значения? (мда, путанно объяснила)


Страницы:   1 2

Наверх

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