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
SET serveroutput ON -- Crear o reemplazar directorio. CREATE OR REPLACE DIRECTORY directorio AS '/home/usuario'; -- Dar permiso directorio. -- GRANT read, write ON DIRECTORY directorio to usuario; -- Escritura del fichero. DECLARE Linea VARCHAR2(10000); v_archivo UTL_FILE.FILE_TYPE; BEGIN DBMS_OUTPUT.PUT_LINE('Creando archivo...'); v_archivo := UTL_FILE.FOPEN('DIRECTORIO914', 'PROVINCIAS.dat', 'w'); DBMS_OUTPUT.PUT_LINE('Archivo creado.'); DBMS_OUTPUT.PUT_LINE('Leyendo la tabla y escribiendo en el archivo...'); FOR COLUMNA IN (SELECT * FROM SYSTEM.PROVINCIAS) LOOP Linea := COLUMNA.PROVINCIA || '|' || COLUMNA.CODIGOPOSTAL || '|' || COLUMNA.DESCRIPCION || '|' || COLUMNA.ZONA; UTL_FILE.PUT_LINE(v_archivo, Linea); END LOOP; DBMS_OUTPUT.PUT_LINE('Archivo cerrado.'); DBMS_OUTPUT.PUT_LINE('------ FIN DE IMPRESION ------'); UTL_FILE.FCLOSE(v_archivo); EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE(SQLERRM); END; /
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.