es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Lea e inserte datos desde un archivo .txt a una base de datos de Oracle SQL [PL/SQL, Scripting de Unix]

Tengo un archivo de entrada: $home/dir/subdir/input.txt

Contenido de input.txt:


123,0000,11111,3,1,X
124,0001,11112,3,1,Y
125,0002,,4,2,Y
129,0003,11114,4,2,X

Tengo una tabla donde las columnas 2 y 3 no pueden ser nulas:

col1 col2 col3 col4 col5 col6 col7 col8 col9
123 0000 11111 3 1 X
124 0001 11112 3 1 Y
129 0003 11114 4 2 X

¿Cómo puedo insertar el contenido de input.txt en la tabla correspondiente? Usando pl/sql y scripting de unix.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Puedes usar PL/SQL y scripting de Unix para insertar el contenido de input.txt en la tabla.

    Primero, necesitarás leer el contenido del archivo utilizando scripting de Unix. Puedes usar el comando cat para leer el contenido del archivo:

    cat $home/dir/subdir/input.txt
    

    Esto mostrará el contenido del archivo. Luego puedes usar el comando awk para analizar el archivo y almacenar los datos en variables:

    awk -F, '{ col1=$1; col2=$2; col3=$3; col4=$4; col5=$5; col6=$6; }' $home/dir/subdir/input.txt
    

    Una vez que los datos estén almacenados en variables, puedes utilizar PL/SQL para insertar los datos en la tabla:

    INSERT INTO nombre_tabla (col1, col2, col3, col4, col5, col6, col7, col8, col9) 
    VALUES (col1, col2, col3, col4, col5, col6, 3, 1, X);
    

    Luego puedes repetir este proceso para cada línea en el archivo.

Comments are closed.