SQL es un lenguaje de consulta para los sistemas de bases de datos relaciónales, pero que no posee la potencia de los lenguajes de programación.
Para abordar el presente tutorial con mínimo de garantias es necesario conocer previamente SQL.
PL/SQL amplia SQL con los elementos caracteristicos de los lenguajes de programación, variables, sentencias de control de flujo, bucles ...
|
# Introducción a PL/SQL
SQL LOADER
Sql Loader es una utilidad que proporciona Oracle para cargar datos a una base de datos desde un fichero externo, normalmente un fichero de texto aunque tambien pueden ser ficheros binarios.
Al SQLLoader ( sqlldr) se le pasan como parametros (los más importanes) el fichero que contiene los datos que se van a cargar y la ruta del fichero de control que contiene las acciones a realizar. El formato de los datos, donde se cargaran y cualquier otro tipo de control.
SYNTAXIS
sqlldr userid=USUARIO/CONTRASEÑA@BASE control=/RUTA/DEL/FICHERO/DE/CONTROL data=/RUTA/DEL/FICHERO/QUE/CONTIENE/LOS/DATOS log=/LO/MISMO bad=/A/DONDE/VAN/LOS/DATOS/MALOS discard=/A/DONDE/VAN/LOS/DATOS/DESCARTADOS
EJEMPLO
sqlldr userid=jj/contraseña@sistema control=/HOME/ctl/a.ctl data=/HOME/jj/tmp/a.txt
Como puedes ver no es muy complicado. Simplemente te conectas con un usuario de la base de datos y le dices cual es el fichero de texto que contiene la información y cual es el que contiene las especificacionse sobre lo que se va a hacer con esa información
Parámetros Comunes
- userid=USUARIO/CONTRASEÑA@BASE Usuario, contraseña e instancia a la que te conectas.
- control Ruta del archivo de control que contiene las directivas de lo que se va a hacer.
- data Ruta del archivo que contiene los datos.
- log Ruta del archivo donde quieres que se genere el log.
- discard Ruta del archivo donde quieres que te envíe los registros descartados y no cargados.
- bad Ruta del fichero donde van a parar los registros malos.
Archivo de Control
El archivo de control ( Control file en bárbaro ) es donde se especifica cómo se van a cargar los datos. Normalmente suele responder al siguiente esquema:
LOAD DATA BADFILE '/a/donde/van/los/datos/malos' DISCARDFILE '/a/donde/van/los/datos/descartados' INFILE '/la/ruta/del/archivo/desde/el/que/se/cargan/los/datos' APPEND INTO TABLE TU_TABLA_DE_DESTINO FIELDS TERMINATED BY "|" OPTIONALLY ENCLOSED BY '"' TRAILING NULLCOLS ( CAMPO0 POSITION(1:15), CAMPO1 CHAR "ltrim(rtrim(:CAMPO1))", CAMPO2 CHAR "ltrim(rtrim(:CAMPO2))", CAMPO3NUMERICO INTEGER EXTERNAL, CAMPO4FECHA DATE "DD-Month-YY" )
Como ves, si los campos tienen una longitud fija puedes especificarle las posiciones, desde el caracter 1 a la 15 y sucesivamente. O si no, puedes dejar que oracle interprete los campos y los inserte. En este caso está introduciondo datos APPEND al final de la tabla. ( Podria ser REPLACE para que reemplazara datos preexistentes). Como puedes imaginar por defecto cada linea es una fila. Y en este ejemplo cada campo está delimitado por el carácter |. TRAILING NULLCOLS sirve para que interprete que los campos sin contenido sean interpretados como NULOS.
Tipos de datos
(comunes)
- CHAR
- VARCHAR
- VARCHARC
- DATE
- EXTERNAL numerics (INTEGER, FLOAT, DECIMAL, and ZONED)
Para mas información : oracle
Sql Loader y problemas con fechas
Si estas cargando datos con fechas es posible que te cause problemas al intentar insertar columnas con fechas y campos nulos. Una manera de evitarlo es borrar los caracteres en blanco del campo de fecha. Siguiendo el patron:
campo_de_fecha "to_date (ltrim(rtrim(:campo_de_fecha)), 'yyyy-mm-dd hh24:mi')"
Te dejo un ejemplo:
LOAD DATA APPEND INTO TABLE art FIELDS TERMINATED BY "|" TRAILING NULLCOLS ( ART_CODE char "ltrim(rtrim(:ART_CODE))", DESCRIPTION char "ltrim(rtrim(:DESCRIPTION))", DATOUV "to_date (ltrim(rtrim(:DATOUV)), 'DD-Month-YY')", DATPEREMPTION "to_date (ltrim(rtrim(:DATPEREMPTION)), 'DD-Month-YY')", UNIT char "ltrim(rtrim(:UNIT))", FRNS char "ltrim(rtrim(:FRNS))" )
La competencia de Oracle Business Suite: Open Apps de Velneo V7
Las aplicaciones de gestion desarrolladas con Velneo V7 pueden ejecutarse en múltiples plataformas (Windows, Linux, Mac o MeeGo), soportando arquitectura Cliente/Servidor
Velneo V7 es una plataforma completa
Las aplicaciones se pueden desarrollar, administrar y ejecutar en local, en la nube y a través de dispositivos móviles
Permite controlar el ciclo de desarrollo completo: diseño del proyecto, diseño de la base de datos, crear la lógica del negocio, construir y generar la interfaz de usuario, y crear el software de instalación.
Velneo V7 ha sido especialmente diseñada para desarrollar aplicaciones de gestión empresarial destacando por la ejecución nativa multiplataforma (sin máquinas virtuales), el código distribuido y reutilizable, y la integración total de bases de datos, lógica del negocio e interfaz de usuario.
La base de datos de Velneo V7 destaca por su rapidez y alto rendimiento en la ejecución de búsquedas y transacciones de bases de datos, su gran fiabilidad y la utilización de programación avanzada sin usar sentencias SQL.
Además, Velneo V7 dispone de un amplio catálogo de Open Apps con tutoriales y ejemplos para aprender a trabajar con la aplicación, con componentes que pueden reutilizarse en nuestro código, y con plantillas empresariales para poder desarrollar nuestras propias aplicaciones. Entre estas Open Apps destacaremos vConta (software para contabilidad), vGestion (gestión de compras, ventas y almacén), vCash (gestión de cuentas bancarias), vTodo Plus (software de planificación y productividad empresarial) y Business Center (software de gestion ERP).