Как динамически выполнять SQL в SAP IQ для использования в Crystal Reports

Цель:

У меня есть хранимая процедура в SAP IQ, которая использует execute()для выполнения динамического оператора SQL во временной таблице, а затем выбирает из таблицы в качестве вывода.

Проблема:

Процедура отлично возвращает соответствующий набор данных в моем клиенте SQL, но когда я пытаюсь выполнить ее в Crystal Reports, она не возвращает никаких столбцов, а вместо этого возвращает столбец с именем «выражение». Я считаю, что это способ Crystal указать, что он не может интерпретировать набор результатов.

Вопрос :

Каков правильный способ динамического выполнения запроса в IQ? В частности, с точки зрения выполнения процесса через Crystal Reports. Я привык работать в SAP ASE, и это процедура, которую я пытаюсь перенести из ASE в IQ.

Воспроизводимый пример :

      /* Example proc that create a temp table with a dynamic value */

create or replace proc test_exec (
    @num_value int
)
as
begin
    -- Dynamically create the temp table with the requested column value
    execute('select ' || @num_value || ' as column_1 into #temp')

    -- Return the result
    select column_1 from #temp
end

Вывод из клиента SQL (правильно):

      exec test_exec 123

Вывод в Crystal Reports (не возвращает столбец_1):

0 ответов

Другие вопросы по тегам