Macrosustitucion en PL/SQL
tema enviado por Chava en SQL
tema iniciado el 04/01/2012
¿Cómo puedo implementar una macrosusticion para un CAMPO en PL/SQL?
Dentro de un procedimiento tengo que recorrer varios campos de un cursor y para evitar poner cada uno de ellos, quiero poner una variable que haga referencia a esos campos para ir cosultado el contenido de dichos campos.
CREATE OR REPLACE PROCEDURE CR36 IS
CURSOR CURSOR_1 IS(
SELECT FOLIO,
CAMPO_1,
CAMPO_2,
CAMPO_3,
CAMPO_4,
CAMPO_5,
CAMPO_6,
CAMPO_7,
CAMPO_8,
CAMPO_9,
CAMPO_10,
CAMPO_11,
CAMPO_12
FROM FOLIOS);
V_CAMPO VARCHAR2(20);
BEGIN
FOR CONSULTA IN CURSOR_1 LOOP
FOR I IN 1 .. 12 LOOP
V_CAMPO := 'CONSULTA.CAMPO_' || I;
IF &V_CAMPO > 0 THEN
DBMS_OUTPUT.PUT_LINE('MAYOR A CERO');
END IF;
END LOOP;
END LOOP;
END;
Donde la variable V_CAMPO va estar haciendo referencia a cada campo.
Lo implemente como lo tengo pero no me reconoce el simbolo "&" entonces nose como manejarlo. Espero me puedan ayudar.
Saludos