Вопрос про сохранение значения, возвращаемого процедурой, для последующего использования.
Сразу скажу, что мало знаком и с pl/sql и с лоадраннером, не судите строго.
Есть процедура вида TEST(RC=>RC_2,ID=>ID_3, ...) с большим кол-вом out параметров.
Интересует только ID - хочется запомнить и потом обращаться к нему в других блоках через переменную вида <stored_id>.
По доке через placeholder (раздел Example: lrd_save_value ), получилось так:
Блок
DECLARE RC_2 SYS_REFCURSOR; ID_3 NUMBER := 0; <остальные> BEGIN :result = TEST(RC=>RC_2,ID=>ID_3, <остальные>); END;
Скрипт LR:
lrd_ora8_stmt(OraStm576,<наш блок>,...); lrd_ora8_bind_placeholder(OraStm576, "result", &result_D2, 0, 0, 0); lr_start_transaction(...); lrd_ora8_exec(OraSvc1, OraStm576, ...); lrd_save_value (&result_D2, 0, 0, "stored_id"); lr_end_transaction(...);
При компиляции получаю ошибку вида:
Action.c:9498:73: macro `lrd_ora8_bind_placeholder' used with only 6 args
Конкретно число (6 или 60) не важно, не понимаю суть ошибки - хотим же забиндить только вторую ячейку с нужным ID.
Подскажите, в чем проблема? Или может есть стандартное решение для такого случая?
Заранее спасибо.