jueves, 13 de febrero de 2014

SCRIPT PARA GENERAR CONSULTAS EN VARIOS ESQUEMAS DESDE SQLPLUS y GENERAR UN SPOOL POR CADA SCHEMA CONSULTADO

SET echo off linesize 300 pagesize 0 feedback off term off
col orden noprint
col usuario noprint new_value usx
select user usuario from dual
/
show user;

spool &usx._resultado.log


--SE COLOCA LA CONSULTA /EJEMPLO:

SELECT 1 orden,'EID,OWNER,IDEJETEMATICO,CUSTNAME,FULLNAME,SQLDATEFORMAT,CLASE,NOM_DEPENDENCIA,MEDIO,NOM_EJE,VARNAME'
from dual
UNION
SELECT 2 orden,linea
FROM (
SELECT crmentity.EID||','||
crmentity.OWNER||','||
crmentity.IDEJETEMATICO||','||
crmcustomer.CUSTNAME||','||
NVL (crmloginusers.fullname, 'Ciudadano') ||','||
TO_CHAR(TO_DATE(crmentity.duedate, 'dd/mm/yyyy'), 'yyyymmdd') ||','||
crmCLASE.CLASE||','||
CRMDEPENDENCIA.DESCRIPCION ||','||
crmMEDIO.MEDIO||','||
       DECODE (cor_tra.NOMBRE, NULL, cor_tra1.NOMBRE, cor_tra.NOMBRE) ||','||
estado.VARNAME linea
         FROM crmentity,
         crmcustomer,
         crmloginusers,
         crmCLASE,
         CRMDEPENDENCIA,
         crmMEDIO,
         CRMGEJETEMATICO cor_tra,
         CRMGEJETEMATICO cor_tra1,
         crmstatusvars estado,
         crmfuncionario func,
         CRMRADICACIONSAL salida,
         CRMSEGIMIENTO segimiento,
         CRMESTADOGUIA estado,
       CRMTIPOCIUDADANO tipociu,
         CRMTIPODOC,
         CRM_GRAL.CRMCONEXION CONE,
         CRM_GRAL.CRMENTEXTERNA ENTEXT
   WHERE     crmentity.idCUSTOMER = crmcustomer.idCUSTOMER(+)
       AND crmentity.owner = crmloginusers.idLOGINUSER(+)
         AND crmentity.IDCLASE = crmCLASE.IDCLASE(+)
         AND crmentity.IDDEPENDENCIA = CRMDEPENDENCIA.IDDEPENDENCIA(+)
         AND crmentity.IDMEDIO = crmMEDIO.IDMEDIO(+)
         AND crmentity.IDEJETEMATICO = cor_tra.IDEJETEMATICO(+)
         AND crmentity.IDEJETEMATICO = cor_tra1.IDEJETEMATICO(+)
         AND cor_tra1.ESTANDAR(+) = 1
         AND cor_tra.IDCONEXION(+) = 13000
         AND crmentity.IDSTATUS = estado.IDSTATUS
         AND crmentity.idfuncionario = func.idfuncionario(+)
         AND segimiento.ID_RADICACIONSAL(+) = salida.ID_RADICACIONSAL
         AND crmentity.EID = salida.EID(+)
         AND crmentity.PERIODO = salida.PERIODO(+)
         AND ESTADO.ID_ESTADOGUIA(+) = segimiento.ESTADO
         AND crmcustomer.IDTIPOCIUDADANO = tipociu.IDTIPO(+)
         AND crmentity.IDTIPODOC = CRMTIPODOC.ID_TIPODOC(+)
         AND TRUNC (crmentity.cdate) >= TO_DATE ('01/01/2013', 'dd/mm/yyyy')
         AND TRUNC (crmentity.cdate) <= TO_DATE ('11/02/2014', 'dd/mm/yyyy')
         AND crmentity.ENTIDAD_DESTINO = CONE.IDCONEXION(+)
         AND crmentity.IDTEXTERNA = ENTEXT.ID(+)
         AND (crmentity.IDEJETEMATICO = 10359
            OR crmentity.IDEJETEMATICO = 10360)
       ORDER  BY crmentity.TP DESC,crmentity.IDSTATUS
)-- where rownum <20
ORDER BY orden
/
spool off


_________________________________________________


-- SE CREA OTRO fichero .sql llamado ejecutar.sql
-- este ficherho tendria la lista de esquemas y contraseñas para conectase


conn  NOMBREUSUARIO/password
start script.sql;
conn  CRM_ALCALDIA_APARTADO/password
start script.sql;
conn  CRM_ALCALDIA_FACATATIVA/password
start script.sql;
conn  CRM_AMAZONAS/password
start script.sql;
conn  CRM_ANTIOQUIA/password
start script.sql;


_______________________________________________

por ultimo se ejecuta en sqlplus 

SQL>@ejecutar.sql

No hay comentarios:

Publicar un comentario