Herramientas de usuario

Herramientas del sitio


informatica:bases_de_datos:oracle

Bases de datos Oracle

Operador JOIN (+)

El operador (+) es para realizar OUTER JOIN.

SELECT  ...
FROM a, 
     b
WHERE a.id = b.id(+)

Es lo mismo que:

SELECT ...
FROM a
LEFT JOIN b ON b.id = a.id

Oracle recomienda no usar la notación (+)

Fechas

Extracción

Sacar porción de la fecha:

SELECT
    EXTRACT(YEAR FROM fecha) AS ano,
    EXTRACT(MONTH FROM fecha) AS mes,
    EXTRACT(DAY FROM fecha) AS dia,
FROM tabla

trunc(sysdate) coge la fecha y hora actuales y se queda solo con la fecha

SELECT *
FROM tabla
WHERE fecha < trunc(sysdate)
AND fecha >= trunc(sysdate - 3) -- hace 3 días

Texto

Extracción

Si se quiere quedar con cierta parte de un campo. Por ejemplo, si tenemos un campo con valores del tipo Una cosa - Otra cosa y nos queremos quedar con lo que hay después del guión:

SELECT SUBSTR(campo, INSTR(campo, '-') + 2) AS nombre
FROM tabla

Condicionales

DECODE

SELECT 
    DECODE(id, '3', 'OK', 'KO') AS resultado
FROM tabla
WHERE fecha < sysdate

Si id vale 3, entonces devuelve OK. En caso contrario, KO.

Un Database Link (DBLink) en Oracle es un tipo de objeto que permite realizar una conexión desde una base de datos a otra.

Un dblink es un usuario que pertenece a la base de datos de destino, pero que se configura en la de origen ya que es quien realiza la conexión.

Para ver que Dblinks hay en una BD Oracle, lo podemos consultar de la siguiente forma:

SELECT * FROM DBA_DB_LINKS;
SELECT * FROM ALL_DB_LINKS;
SELECT * FROM USER_DB_LINKS;

Limitar resultados

FETCH FIRST

Disponible desde Oracle 12c:

SELECT *
FROM tabla
FETCH FIRST 10 ROWS ONLY

Administración

Versión de la base de datos

SELECT * FROM V$VERSION

Ejemplo de salida:

BANNER BANNER_FULL BANNER_LEGACY CON_ID
Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production “Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production Version 19.28.0.1.0” Oracle Database 19c EE Extreme Perf Release 19.0.0.0.0 - Production 0
informatica/bases_de_datos/oracle.txt · Última modificación: por tempwin