EXECUTE IMMEDIATE

tema enviado por Alfredo en ORACLE
tema iniciado el 15/12/2008
Hola a todos me podrian ayudar, quiero executar el contenido de la variable v_sql pero me manda error de caracter no valido GRacias BEGIN SELECT MAX(CampoID) + 1 INTO v_max FROM CatCamposDocumento WHERE Tabla = v_tabla; v_sql := ''; v_i := 1; WHILE v_i < v_max LOOP BEGIN SELECT NVL(v_sql, '') || 'select ' ||to_char(v_iDocid) ||' as Docid,Nombrecampo as Campo, nvl((select to_char(' || NombreCampo || ' )from ' || Tabla || ' where Docid = '|| to_char(v_iDocid) ||'),'|| CHR(39)|| ' ' || CHR(39) || ') as ' || 'Valor ,to_char(NVL(PermisoID, 0) ) as PermisoID, TipoDato, LongitudMax, LongitudMin, Obligatorio,Mostrar, Mascara, Regla,accion,TipoDatoConsulta, condicion1,condicion2,condicion3, tipoDatoCliente from CatCamposDocumento where CampoID=' || TO_CHAR(v_i) || ' and Tabla= ' || CHR(39) || v_tabla || CHR(39) || ' union all ' INTO v_sql FROM CatCamposDocumento WHERE Tabla = v_tabla AND CampoID = v_i;--and Obligatorio=1 v_i := v_i + 1; END; END LOOP; v_sql := SUBSTR(v_sql, 1, LENGTH(v_sql) - 11)||';'; EXECUTE IMMEDIATE v_sql INTO v_resultado; DBMS_OUTPUT.PUT_LINE(v_resultado); OPEN cv_1 FOR SELECT v_sql FROM DUAL ; END;