Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / UDR и prepare / 6 сообщений из 6, страница 1 из 1
12.01.2021, 13:19
    #40035039
Viktor_bs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UDR и prepare
Подскажите, кто занимался написанием 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
12.01.2021, 13:27
    #40035042
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UDR и prepare
Viktor_bs,

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

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

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


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