1
Ниже код работает, когда SELECT
работает только с таблицей CELLS
. Однако, когда есть соединение из нескольких таблиц, ниже тип больше не подходит.Доступ к соединенным элементам
PROCEDURE drawComponent(title IN VARCHAR2, tbl IN VARCHAR2, link IN VARCHAR2) IS
TYPE ref_typ IS REF CURSOR;
var_ref ref_typ;
rec CELLS%ROWTYPE;
BEGIN
OPEN var_ref FOR 'SELECT CELLS.ID as CELLID, CELLS.NUM as CELLNUM, CELLS.' || link || ' as ID, ' || tbl || '.REMOVED as REMOVED FROM CELLS LEFT OUTER JOIN ' || tbl || ' ON CELLS.' || link || ' = ' || tbl || '.ID ORDER BY CELLS.NUM';
loop
FETCH var_ref INTO rec;
EXIT WHEN var_ref%NOTFOUND;
htp.p(rec.CELLID);
end loop;
END;
Вопрос: какой тип я должен объявить rec
?
Может SYS_REFCURSOR? Извините, я немного устал, не хочу пытаться написать подробный пример :) – Dmitry
Тогда у меня есть 'Неверная ссылка на переменную 'REC'', если я напишу' rec.CELLNUM' – Pablo
Дмитрий, спасибо и хорошо отдохните :) – Pablo