![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
IB5.5 и хранимая процедура [IB5.x]
ManYury © (2003-03-25 12:59:00)Добрый день/вечер ...
Кто подскажет - почему не правильно работает нижеприведенная процедура :
CREATE PROCEDURE CHECKGERMANYCITY
RETURNS (
CITYFORINSERT CHAR (45))
AS
declare variable CityForCompare char(45);
BEGIN
/* Procedure body */
CityForCompare="B%";
for select EnglishCityName from City where ISOCountry="DE" and
EnglishCityName like :CityForCompare
into :CityForInsert
do
SUSPEND;
end
при таком запросе возвращается null если вместоlike :CityForCompareнаписатьlike "B%"то все нормально ...
ManYury (2003-03-25 15:33:00) [1]Спасибо - помогло ...
Romkin (2003-03-25 15:09:00) [2]declare variable CityForCompare VARchar(45);
char дополняется пробелами
ManYury (2003-03-25 14:17:00) [3]To Johnmen результат тот же ...
И еще один вопрос - если результат null то выполняется ли код, который идет заdoт.е. можно ли написать
do
begin
if (CityForInsert is null) then (что-то делаем)
end
- тоже что-то не хочет выполняться ...
P.S. если первый код прогнать в отладчике IBManager то все выполняется как надо, если просто выполнить то null -((
Johnmen (2003-03-25 13:32:00) [4]А так ?
like """||:CityForCompare||"""
manYury (2003-03-25 13:19:00) [5]Это не выход - т.к. необходимо использовать имено
like(в процедуре идет сравнение) ...
Карелин Артем (2003-03-25 13:10:00) [6]Попробуй
CityForCompare="b"
EnglishCityName starting with :CityForCompare
В Firebird такое работает.