Entradas

Mostrando entradas de mayo, 2007

Sentencia Merge en Oracle

La sentencia merge nos permite realizar una actualización de una tabla, de tal modo que si no existe alguno de los registros a actualizar realiza también la inserción de esos nuevos registros. La sintaxis es la siguiente: MERGE INTO tabla USING (otra_tabla, vista.....) ON ( condiciñon de union) WHEN MATCHED THEN UPDATE SET columna1tabla = un valor, columna2tabla = otro valor WHEN NOT MATCHED THEN INSERT (columna1tabla,columna2tabla) VALUES (unvalor, otrovalor) Un ejemplo en el que tenemos dos tablas prueba1 y prueba2, y queremos realizar un merge de prueba1 en prueba2. Esto significa que los valores de prueba2 van a ser actualizados con los valores de prueba1, y en el caso de que no exista el registro se insertan en prueba2. MERGE INTO prueba2 USING (prueba1) ON (prueba2.id1 = prueba1.id1) WHEN MATCHED THEN UPDATE SET prueba2.id2 = prueba1.id2 WHEN NOT MATCHED THEN INSERT (id1,id2) VALUES (prueba1.id1, prueba1.id2)

Creación de directorio en Oracle

Para crear un directorio como recurso en oracle debemos ejecutar lo siguiente: CREATE OR REPLACE DIRECTORY XMLDIR AS '/home/usuario/Desktop';

Error 00600 -> unable to load XDB library

Este error puede aparecerte eventualmente si intentas ejecutar algún comando como: DBMS_XDB.createResource () DBMS_XMLSCHEMA.registerSchema() o intentas acceder usando el enterprise manager / administracion / Base de datos XML /administar y sale un error 500. El problema es que no se cargan las librerías XDB debido a que no se han definido las variables que indican su ruta. Para solventar el error tuve que definir estas dos variables de entorno en Linux 1)export ORACLE_HOME=/home/oracle/oracle/product/10.2.0/db_1 2)export LIBPATH=$ORACLE_HOME/lib32:$ORACLE_HOME/lib: $ORACLE_HOME/jdk/jre/bin:$ORACLE_HOME/jdk/jre/bin/classic: $ORACLE_HOME/rdbms/lib32:$ORACLE_HOME/mgw/lib32:. 3)export LD_LIBRARY_PATH=$LIBPATH Debes sustituir ORACLE_HOME por donde tengas instalado tu oracle. Nota: son 3 lineas, la segunda la he partido para que sea visible en el blog . Si quieres hacer un copy&paste del código copia estas tres líneas con el ratón: export ORACLE_HOME=/home/oracle/oracle/product/10.2.0/