powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как в ХП можно определить Null-статус передаваемых параметров?
12 сообщений из 12, страница 1 из 1
Как в ХП можно определить Null-статус передаваемых параметров?
    #32214143
zDIV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос в теме...
...
Рейтинг: 0 / 0
Как в ХП можно определить Null-статус передаваемых параметров?
    #32214153
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
if (:PARM IS NULL) THEN ...
...
Рейтинг: 0 / 0
Как в ХП можно определить Null-статус передаваемых параметров?
    #32214186
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я без двоеточия делаю, и все работает...
...
Рейтинг: 0 / 0
Как в ХП можно определить Null-статус передаваемых параметров?
    #32214190
Timujin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильно без двоеточия. С двоеточием нужно писАть после INTO:
select поле from таблица into :переменная ;
...
Рейтинг: 0 / 0
Как в ХП можно определить Null-статус передаваемых параметров?
    #32214206
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну да конечно - двоеточие ставится для указания переменной ХП, если существует поле в таблице с таким же названием.
Но и так и так - результат один и тот-же. Работате ...
...
Рейтинг: 0 / 0
Как в ХП можно определить Null-статус передаваемых параметров?
    #32214212
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Timujin !

P.S.

после INTO можно тоже не ставить ":" - тоже работает !
...
Рейтинг: 0 / 0
Как в ХП можно определить Null-статус передаваемых параметров?
    #32214248
Timujin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dnico
Не пробовал. Но спасибо.
...
Рейтинг: 0 / 0
Как в ХП можно определить Null-статус передаваемых параметров?
    #32214317
zDIV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо!
...
Рейтинг: 0 / 0
Как в ХП можно определить Null-статус передаваемых параметров?
    #32214327
zDIV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да!!!
А как бы лучше организовать UPDATE в ХП (это мне так нужно), передаваемые параметры - ключ и некоторые поля, некоторые из некоторых могут быть NULL, что по смыслу (замыслу) означает - менять не надо. Не раз утверждалось, что курсоры не работают, а как тогда быть?
...
Рейтинг: 0 / 0
Как в ХП можно определить Null-статус передаваемых параметров?
    #32214342
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если используется FB 1.5, то там есть COALESCE - туда и надо копать ...

Код: plaintext
1.
UPDATE TABLE SET FIELD1 = COALESCE(:PARM,FIELD1), ...


Вообщем меняем всегда, но если NULL, то подставляем старое значение.

Может есть что и получше ...
...
Рейтинг: 0 / 0
Как в ХП можно определить Null-статус передаваемых параметров?
    #32214364
zDIV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Продолжая всех корыстно мучить, спрошу... можно ли этот код изменить на другой с использованием NULL-значений переменных...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
CREATE PROCEDURE FindGeoarray (
  Guid CHAR( 38 ))
RETURNS (
  GeoarrayNo INTEGER)
AS
  DECLARE VARIABLE GeoarrayCount INTEGER;
BEGIN
  SELECT COUNT(*) FROM Geoarrays
    WHERE Guid = :Guid
    INTO :GeoarrayCount;
  IF (GeoarrayCount =  0 ) THEN
    GeoarrayNo = - 1 ;
  ELSE
    SELECT GeoarrayNo FROM Geoarrays
      WHERE Guid = :Guid
      INTO :GeoarrayNo;
END^


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE PROCEDURE FindGeoarray (
  Guid CHAR( 38 ))
RETURNS (
  GeoarrayNo INTEGER)
AS
BEGIN
  SELECT GeoarrayNo FROM Geoarrays
    WHERE Guid = :Guid
    INTO :GeoarrayNo;
  IF (:GeoarrayNo IS NULL) THEN
    GeoarrayNo = - 1 ;
END^


или более того, можно ли во втором случае без IF на клиенте ожидать корректный NULL-результат (если ничего не найдено в SELECT)? (Результат должен быть единственный, поле Guid - уникально).
...
Рейтинг: 0 / 0
Как в ХП можно определить Null-статус передаваемых параметров?
    #32214402
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Должно все работать, т.к. SELECT возвращает либо значение, если найдена запись или NULL в противном случае. На счет клиента - не знаю точно (не пробовал) как передается значение NULL в приложение.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как в ХП можно определить Null-статус передаваемых параметров?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]