Mostrando las entradas con la etiqueta Oracle. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Oracle. Mostrar todas las entradas

martes, 24 de noviembre de 2015

decode versus case

una función que retorna un resultado de acuerdo a los valores de un campo para usar dentro de un select

En ORACLE:

select DECODE(u.id 
             ,2, 'GOOD'
             ,3, 'POOR'
             ,4, 'EXCELLENT'
               , 'BAD')
  from university

En SQL Server:

select CASE u.id 
       WHEN 2 THEN 'GOOD' 
       WHEN 3 THEN 'POOR' 
       WHEN 4 THEN 'EXCELLENT' 
       ELSE 'BAD' 
   END CASE 
  from university u;


viernes, 8 de noviembre de 2013

Cambios en columnas

Para alter en columnas seguir la sgte. estructura de script de acuerdo al motor de base de datos:

SQL Server / MS Access:
ALTER TABLE table_name
ALTER COLUMN column_name datatype
My SQL / Oracle:
ALTER TABLE table_name
MODIFY COLUMN column_name datatype
Fuente: http://www.w3schools.com/sql/sql_alter.asp

Alter Table

SQL Server / MS Access:
ALTER TABLE table_name
ALTER COLUMN column_name datatype
My SQL / Oracle:
ALTER TABLE table_name
MODIFY COLUMN column_name datatype

jueves, 30 de junio de 2011

Caracteres especiales

Solo use lo sgte.:

SELECT columns FROM table WHERE column LIKE '%[%]%'

-- or

SELECT columns FROM table WHERE
column LIKE '%\%%' ESCAPE '\'


Fuente: http://sqlserver2000.databases.aspfaq.com/how-do-i-search-for-special-characters-e-g-in-sql-server.html

jueves, 5 de mayo de 2011

Respaldo de tablas

Para respaldar una tabla en otra:

En Oracle:

create table respaldo_pd_pagina7000
as select * from pd_pagina

En Sql Server:

select *
into respaldo_pd_pagina7000
from pd_pagina

lunes, 24 de enero de 2011

Tipos de Shutdown

Nunca está demás en la cartera de la dama, en el bolsillo del varón saber como bajar una base de datos como cuando las cosas andan mal y la última alternativa que queda es dar con el viejo truco de un OFF/ON.


Acá un resumen en inglés:

Oracle has three shutdown modes:

Normal (default) - waits for in-flight work to complete. This could take houes.

Immediate - terminates all sessions and does a rollback on all
uncommitted transactions.

Abort - aborts all sessions, leaving current DML in need of rollback, de-allocates the SGA and terminates the background processes. Note that a shutdown abort is NOT evil or dangerous. The "abort" simply means that Oracle will terminate all active work, which is what most people want during a shutdown!

martes, 23 de marzo de 2010

Oracle/PLSQL: Coalesce Function

Siempre se aprende algo nuevo, ahora me encontré con la función COALESCE en Oracle y debo reconocer que no la recordaba.

En Oracle se usa en Oracle 9i, Oracle 10g, Oracle 11g

La función coalesce retorna la primera expresión no nula en una lista. Si todos los valores son nulos, entonces la función retorna null

La sintaxis de la función es:

coalesce( expr1, expr2, ... expr_n )

Por ejemplo, se podría usar de la sgte. forma:

SELECT coalesce( address1, address2, address3 ) result
FROM suppliers;

El equivalente en la sentencia IF-THEN-ELSE es:

IF address1 is not null THEN
result := address1;

ELSIF address2 is not null THEN
result := address2;

ELSIF address3 is not null THEN
result := address3;

ELSE
result := null;

END IF;



Fuente: http://www.techonthenet.com/oracle/functions/coalesce.php

viernes, 5 de febrero de 2010

SQL Server: Limitando el numero de registros

En una consulta Oracle, cuando se quiere reducir el número de registros en una consulta se usa la sentencia:

rowcount <= 10

esto reduce el resultado a un número máximo de 10 registros.

En MySQL la solución similar sería con un

limit 10

en Sql Server encontré 2 soluciones:

1) Al principio del select

select top 10 ...

2) en un seteo previo a la consulta

set rowcount 10

para volver el seteo a la normalidad

viernes, 27 de noviembre de 2009

El DECODE en SQL Server

En Oracle existe la funcion DECODE que permite evaluar un valor para seleccionar otro.

select decode(v_mes, 1, 'Enero', 2, 'Febrero', 'Otro')
into v_valor
from dual


En SQL Server, el simil se hace con un CASE, asi:


select @v_valor = case @v_mes
when 1 then 'Enero'
when 2 then 'Febrero'
else 'Otro'
end;

jueves, 19 de febrero de 2009

El tip oracle del dia

El tip Oracle de hoy es como acceder vía sqlplus a un usuario de BD dentro de una máquina Unix con dos o más instancias Oracle

export ORACLE_SID= NOMBRE_SSID

y voilá, queda seteada la instancia a la que se desee conectar, ahora sólo conectar con user y password

(by Francisca Miranda, Miguel Cifuentes)

jueves, 3 de abril de 2008

Manual Oracle

Siempre en la pega salen cositas para salvar algún entuerto, su script para modificar parámetros, su paltita, aqui algunas cosas que descubrimos con mi amigo Carlos Arriagada:

para cuando tengas que cambiar un tablespace:

select
'alter database datafile '||
file_name||
' '||
' autoextend on;'
from
dba_data_files;

para cambiar tablas desde un tablespace a otro:

SELECT 'ALTER TABLE DESA01.' || table_name || ' MOVE TABLESPACE DESA01;' comandos_script
FROM all_tables a
WHERE a.owner = 'DESA01'
AND a.tablespace_name <> 'DESA01'


para los índices:

SELECT 'ALTER INDEX ' || a.owner || '.' || index_name ||
' REBUILD TABLESPACE DESA01;' comandos_script
FROM all_indexes a
WHERE a.owner = 'DESA01'
AND a.tablespace_name <> 'DESA01'


Cuando necesites funciones para manejar strings:

http://www.psoug.org/reference/string_func.html

Para conocer el usuario de Sistema Operativo que está ejecutando las consultas:

SELECT SYS_CONTEXT ('USERENV', 'OS_USER')
FROM DUAL;


Que permisos tienen los roles:

rol connect = alter session, create session, create cluster, create table, create view, create synonym, create sequence, create database link
rol resource = create cluster, create table, create procedure, create sequence, create trigger

Cuando tengas que aumentar la cantidad de usuarios concurrentes permitidos (creo que es para eso, pruebenlo igual :):

ALTER SYSTEM SET PROCESSES=150 SCOPE=SPFILE;

Bueno, eso, parecía más, pero me han salvado de repente. y gracias Carlos, queda cumplida mi palabra ... chau