› Fóruns › Engenharia de Software › Substituir contéudo de variável em procedure durante execuçã › Substituir contéudo de variável em procedure durante execuçã
Oi Airton,
Você pode utilizar refcursor como no exemplo que criei abaixo:
[i]DECLARE
—
cur_obj SYS_REFCURSOR;
v_obj_name dba_objects.object_name%TYPE;
v_table VARCHAR2(40) := ‘dba_objects’;
v_obj_id Dba_Objects.object_id%TYPE := 54158;
—
BEGIN
—
OPEN cur_obj FOR ‘select object_name from ‘||v_table||’ where object_id = :b1′ USING v_obj_id;
LOOP
—
FETCH cur_obj INTO v_obj_name;
EXIT WHEN cur_obj%NOTFOUND;
—
DBMS_OUTPUT.PUT_LINE(v_obj_name);
—
END LOOP;
CLOSE cur_obj;
—
END;
/[/i]
Caso opte pelo execute immediate, não esqueça de usar o USING para bind variable =)
Abraço,
Danilo Carvalho
https://www.profissionaloracle.com.br/blogs/dcarvalho