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

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

LIKE  в хранимой процедуре [D4, D5, D6, MSSQL, ]


comwad ©   (2001-12-11 13:50:00) 

Добрый день!
Вопрос - как передать через параметр
в хранимой процедуре условие для оператора
LIKE : (Inform like @Locate)
(Inform like "%"+@Locate+"%")
Ни так , ни так не отрабатывает, не находит
условия, хотя если запрос на прямую без процедуры
давать - все работает.


CREATE PROCEDURE UpdateClear5ESSInf
@Time char (20),@Code char (128),@Locate char (128),@Ats int
AS
Begin
Update A_Alarm_WR Set TimeOff =@Time
where (TimeOff is Null) And (Code =@Code) And (Inform like @Locate)
And (Ats =@Ats)
End


Fay   (2001-12-12 23:14:00) [1]

Приведи к Varchar


Delirium   (2001-12-11 19:35:00) [2]

>unfam
Мы про Transact SQL говорим, причем здесь QuotedStr, да и Char($27) в T-SQL вызывается как Char(39) ?


unfam   (2001-12-11 18:12:00) [3]

>conwad. Возможно у вас кавычки не передаются. То есть получается что-то вроде like %бла-бла% вместо like "%бла-бла%". Попробуйте функцию QuotedStr или вручную добавьте кавычки в начало и конец строки -
char($27)+<параметр>+char($27)


Delirium   (2001-12-11 14:04:00) [4]


@Locate VarChar (128)

У тебя-же в параметр куча пробелов добавляется!


Наверх

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