powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / UDR и prepare
6 сообщений из 6, страница 1 из 1
UDR и prepare
    #40035039
Viktor_bs
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, кто занимался написанием UDR с использованием запросов внутри нее, есть ли возможность получить имена параметров для запросов типа:
Код: plsql
1.
insert into TEST(F_INT) values(:param1)


или как-то по другому? Или это "связывание" задача клиентских библиотек?

и допускается только
Код: plsql
1.
insert into TEST(F_INT) values(?)


Условный пример кода на Delphi:
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
  con := context.getAttachment(status);
  trn := context.getTransaction(status);
  
  stmt := con.prepare(status, trn, SqlLen, SqlText, 3, statement.FLAG_REPEAT_EXECUTE or statement.PREPARE_PREFETCH_METADATA or statement.PREPARE_PREFETCH_INPUT_PARAMETERS);

  inMeta := stmt.getInputMetadata(status);

  fName := inMeta.getField(status, 0);


Спасибо.
...
Рейтинг: 0 / 0
UDR и prepare
    #40035042
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Viktor_bs,

нет нельзя. API Firebird не предусматривает именованных параметров
...
Рейтинг: 0 / 0
UDR и prepare
    #40035049
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Viktor_bs
Или это "связывание" задача клиентских библиотек?
Да
...
Рейтинг: 0 / 0
UDR и prepare
    #40035163
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Viktor_bsИли это "связывание" задача клиентских библиотек?
ага. именованные параметры это исключительно фишка клиентских либ и компонент.
С этим регулярно возникаю недоразумения, когда в запросе более одного параметра называют
одним и тем же именем. С точки зрения ФБ это разные параметры, и только клиентская либа
при парсинге запроса соображает, что это "один параметр", и распихивает одно значение уже по нескольким
реальным параметрам.
...
Рейтинг: 0 / 0
UDR и prepare
    #40035926
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
Viktor_bsИли это "связывание" задача клиентских библиотек?

ага. именованные параметры это исключительно фишка клиентских либ и компонент.
С этим регулярно возникаю недоразумения, когда в запросе более одного параметра называют
одним и тем же именем. С точки зрения ФБ это разные параметры, и только клиентская либа
при парсинге запроса соображает, что это "один параметр", и распихивает одно значение уже по нескольким
реальным параметрам.кстати сказать, у некоторых библиотек есть с этим проблемы.
при достаточно нетривиальных запросах (с комментариями, юнионанами, CTE и т.д).
...
Рейтинг: 0 / 0
UDR и prepare
    #40035950
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

а если еще вспомнить, что в старых версиях ФБ параметры в субселектах считались не в естественном порядке, то ...
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / UDR и prepare
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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