powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Параметры в execute immediate
4 сообщений из 4, страница 1 из 1
Параметры в execute immediate
    #32133603
Дмитрий А
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, пожалуйста, как можно заставить работать конструкцию:

Код: plaintext
1.
2.
3.
4.
spFncString := BTC_FinancialReportsAPI.SEndDebetMainCur ( :idpCodBr, :idpAccPlan, :dpBeginDate, :dpEndDate,  51  ) + BTC_FinancialReportsAPI.SEndDebetMainCur ( :idpCodBr, :idpAccPlan, :dpBeginDate, :dpEndDate,  50  );

sQuery := 'select ' || spFncString || ' from  Dual';
    execute immediate sQuery into fResult using idpCodBr, idpAccPlan, dpBeginDate, dpEndDate;


Проблема состоит в том, что для того, чтобы работало в using надо перечислять 8 параметров, а они одинаковые для обоих слагаемых. Число слагаемых может быть произвольным, а параметры у всех всегда слагаемых одинаковые.
...
Рейтинг: 0 / 0
Параметры в execute immediate
    #32133613
m_kus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мм.. а так?

Код: plaintext
1.
2.
3.
spFncString := 'BTC_FinancialReportsAPI.SEndDebetMainCur ( :1, :2, :3, :4, 51 ) + BTC_FinancialReportsAPI.SEndDebetMainCur ( :1, :2, :3, :4, 50 )';

sQuery := 'select ' || spFncString || ' from  Dual';
    execute immediate sQuery into fResult using idpCodBr, idpAccPlan, dpBeginDate, dpEndDate;


А может я вопрос не понял...
...
Рейтинг: 0 / 0
Параметры в execute immediate
    #32133616
Дмитрий А
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А все равно потребует 8 параметров, одних и тех же причем. А будет три слагаемых, в которые надо будет передать совершенно одинаковые значения, надо будет передавать 8 параметров. А хочется только 4, так как число слагаемых может быть произвольным
...
Рейтинг: 0 / 0
Параметры в execute immediate
    #32133628
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такая ссылка:

Oracle9i Application Developer's Guide - Fundamentals
Coding Dynamic SQL Statements

http://download-west.oracle.com/docs/cd/B10501_01/appdev.920/a96590/adg09dyn.htm#26586

так вот, там упоминается, что пакет DBMS_SQL, в отличии от Native Dynamic SQL умеет привязывать поля резалт-сета по имени. Так же только он умеет указывать параметры по имени, Native Dynamic SQL только по порядку. Думаю, для твоей задачи он вполне подойдет.

Но вот что dbms_sql не может, так это возвратить курсор.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Параметры в execute immediate
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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