Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/05/2016, 04:45
REHome
 
Fecha de Ingreso: mayo-2007
Ubicación: PIC-16F84A
Mensajes: 727
Antigüedad: 16 años, 11 meses
Puntos: 8
Intentar hacer esto. Transformar

Hola:

Quiero hacer esto.
El campo codigopostal de la tabla system.PROVINCIAS, se debe de extraer como tipo numérico,
por lo que será necesario una transformación de las provincias cuyo código postal empiece por
‘0’.

He hecho este primer código.
Código SQL:
Ver original
  1. SET serveroutput ON
  2.  
  3. -- Crear o reemplazar directorio.
  4. CREATE OR REPLACE DIRECTORY directorio AS '/home/usuario';
  5.  
  6. -- Dar permiso directorio.
  7. -- GRANT read, write ON DIRECTORY directorio to usuario;
  8.  
  9. -- Escritura del fichero.
  10. DECLARE
  11.         Linea VARCHAR2(10000);
  12.         v_archivo UTL_FILE.FILE_TYPE;
  13.  
  14. BEGIN
  15.         DBMS_OUTPUT.PUT_LINE('Creando archivo...');
  16.         v_archivo := UTL_FILE.FOPEN('DIRECTORIO914', 'PROVINCIAS.dat', 'w');
  17.         DBMS_OUTPUT.PUT_LINE('Archivo creado.');
  18.  
  19.         DBMS_OUTPUT.PUT_LINE('Leyendo la tabla y escribiendo en el archivo...');
  20.         FOR COLUMNA IN (SELECT * FROM SYSTEM.PROVINCIAS) LOOP
  21.         Linea := COLUMNA.PROVINCIA || '|' || COLUMNA.CODIGOPOSTAL || '|' || COLUMNA.DESCRIPCION || '|' || COLUMNA.ZONA;
  22.  
  23.         UTL_FILE.PUT_LINE(v_archivo, Linea);
  24.  
  25.         END LOOP;
  26.  
  27.         DBMS_OUTPUT.PUT_LINE('Archivo cerrado.');
  28.         DBMS_OUTPUT.PUT_LINE('------ FIN DE IMPRESION ------');
  29.  
  30.         UTL_FILE.FCLOSE(v_archivo);
  31.  
  32.         EXCEPTION
  33.                 WHEN OTHERS THEN
  34.                         DBMS_OUTPUT.PUT_LINE(SQLERRM);
  35. END;
  36. /

Lo que hace arriba es leer tabla que está en system.PROVINCIAS, crear un archivo llamado PROVINCIA.dat y guardar la información de la tabla en dicho archivo.

Solo me falta lo indicado arriba.

Saludos.
__________________
Meta Shell, VERSIÓN 1.2.2
Descargar