powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Переменная в WHERE
3 сообщений из 3, страница 1 из 1
Переменная в WHERE
    #32569194
Фотография arni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yaffil 877 + IBExpert
Код: plaintext
1.
2.
3.
select *
  from some_table
 where id in ( 0 , :VAR)
- работает отлично, а вот это не хочет:
Код: plaintext
1.
2.
3.
select *
  from some_table
 where :VAR in ( 0 , id)
говорит:
An error was found in the application program input parameters for the SQL statement.
Dynamic SQL Error.
SQL error code = -804.
SQLDA missing or incorrect version, or incorrect number/type of variables.

Смысл в том, что если я подаю в переменную 0 - то выдать все записи, а если реальный ID (заведомо не 0) - то только нужную строку.
В оракле эта конструкция успешно работает, а в IB выходит, что нет.
...
Рейтинг: 0 / 0
Переменная в WHERE
    #32569253
vis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а так?
Код: plaintext
1.
2.
3.
4.
5.
select * 
    from some_table
    where id = case :VAR when  0  then id
                           else :VAR
                   end
...
Рейтинг: 0 / 0
Переменная в WHERE
    #32570278
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересно, вроде на днях использовал нечто похожее, сейчас проверим...

Все работает!

Мой вариант:

select * from holding h where
:Client in (h.owner_j_client_id, h.owner_f_client_id)

- работает!


Пробум твой:

select * from holding h where
:Client in (0, h.owner_f_client_id) - тоже работает. И никаких "... or incorrect version..."

Даю на вход 0 - полчаю все записи. Даю 1 - только записи с таким значением.

ПРИМЕЧАНИЕ: FireBird 1.5.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Переменная в WHERE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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