Тема: INFORMIX, Оператор LIST
Потрібно в збережену процедуру передати набір значень для оператора IN.
Наприклад є запит:
SELECT payment_sum FROM payments WHERE id IN (1,2)
Для того щоб цей запит виконати в збереженій процедурі я використав LIST
Приклад збереженої процедури:
CREATE FUNCTION ttest(param_id LIST(INTEGER NOT NULL))
RETURNING
VARCHAR(33) AS payment_sum
DEFINE _payment_sum VARCHAR(33);
FOREACH SELECT payment_sum INTO _payment_sum FROM payments WHERE id IN (param_id)
RETURN
_payment_sum
WITH RESUME;
END FOREACH;
END FUNCTION;
Процедура створилася успішно.
А коли я намагаюся її викликати:
CALL ttest(LIST{1,2});
Помилка: 674 routine can not be resolved
Що не так ? Як створити правильно та викликати збережену процедуру з набором значень ?