Archive for the 'Oracle' Category

Ejecutar PLSQL desde shell script y guardar los resultados en variables

oracle

En dbaspot encuentro un buen ejemplo de script de como ejecutar un procedimiento PLSQL desde bash y como almacenar los resultados de las consultas en variables. Éste seria un ejemplo (adaptado para usar mi base de datos Oracle XE):


#!/bin/bash

#OUTPUT=$(sqlplus -s '/ as sysdba' <<-EOF
OUTPUT=$(sqlplus -s system/manager@XE <<-EOF
set heading off feedback off serveroutput on trimout on pagesize 0

select instance_name from v\$instance;
select version from v\$instance;

declare
i number := 0;
begin
while i < 3 loop
dbms_output.put_line('Parametro_PLSQL_' || i);
i := i+1;
end loop;
end;
/
EOF
)

# Sin dejar espacios pq los espacios son los nuevos parametros

INSTANCE=$(echo $OUTPUT | awk '{ print $1 }')
VERSION=$(echo $OUTPUT | awk '{ print $2 }')
ARG1=$(echo $OUTPUT | awk '{ print $3 }')
ARG2=$(echo $OUTPUT | awk '{ print $4 }')
ARG3=$(echo $OUTPUT | awk '{ print $5 }')

echo "Database: $INSTANCE":wr
echo "Version: $VERSION"
echo "Arg1: $ARG1"
echo "Arg2: $ARG2"
echo "Arg3: $ARG3"

Aqui puedes adaptarlo para tus propios ejemplos. Lo más importante la cadena de conexión, yo al usar Oracle XE tengo (system/manager@XE), en tu base de datos pon tu cadena usuario/password@SID. Despues que tambien los parametros devueltos no tengan espacios, pues al asignarlos a variables, el espacio es utilizado como separador. En el script hay una parte donde se devuelve una columna directamente de una select y esta es asignada a una variable de la shell, y otra parte donde se escribe el parametro con el paquete dbms_output.

Seleccionar un registro aleatoriamente en Oracle

Digamos que quieres recuperar una columna de una tabla pero a partir de una fila recuperada aleatoriamente para tal vez hacer pruebas de tu código. Fácil, puedes ejecutar algo como lo siguiente:

SELECT column FROM
( SELECT column FROM table
ORDER BY dbms_random.value )
WHERE rownum = 1

Visto en | Pete freitag

El 22 de Mayo está cerca…

Y debes recordar la fábula del votante (click para ampliar):

de tu mano está que ésto no huela más a podrido…

De | JRmora | Via | Meneame

Web-based SQuirreL SQL Client: Uno de los mejores clientes SQL Web que he probado

Enamorado estoy de éste cliente web SQL. Hace tiempo que tenia la intención de desarrollar algo parecido y mira tú que ya está hecho. Se llama WebSquirrelSQL y esta basado en ese fantastico proyecto que es Squirrel SQL. En pocas palabras, es como un Toad o SQLDeveloper (salvando las funcionalidades que no tiene implementadas) pero todo en web, implementado en la bonita interface que proporciona ExtJS.

Como comentan en el sitio principal:

Web-based Squirrel SQL client. it allow you to view database structure, import/export and manage your databases, including create database, table, store procedure, view,trigger and user. it support oracle, db2, mysql, MS SQL server, FireBird,Postgres

cliente SQL que permite ver la estructura de la base de datos, importar/exportar y manejar tus bases de datos incluyendo la creacion de bases de datos, tablas, procedimientos almacenados, vistas , triggers y usuarios. Soporta oracle, db2, mysql, MS SQL Server, Firebird, Postgres.

Se proporciona como un fichero WAR que puedes desplegar en Tomcat o Jboss por ejemplo.

Pruebalo, te lo recomiendo!. la ventaja de tener un cliente web accesible desde cualquier lado.

Descarga | SourceForge | sitio principal

Recuperar información de las columnas de una tabla en Oracle

Con un cliente gráfico o examinando el scheme es fácil conocer la estructura de una tabla. O incluso ejecutando:

desc nombre_de_la_tabla

Pero cuando tienes una tabla con muchas columnas, o te interesa filtrar por ejemplo con like todas aquellas columnas que empiezan por “BA” o alguna condición similar, se hace más útil utilizar una sentencia SQL como:

select column_name from all_tab_columns where table_name = nombre_de_la_tabla and column_name like 'BA%'

Esa misma vista nos proporciona bastante información sobre la columna en si como el tipo de dato y la longitud.

La Comision Europea desaprueba la compra de Sun por parte de Oracle

Los reguladores antimonopolio de la Unión Europea han presentado sus quejas formales a la adquisición de Sun por parte de Oracle por el precio pactado de 7.400 millones de dólares, con un argumento claro: el peligro para MySQL.

La noticia completa en BarraPunto, ¿y tu que piensas?:

Solaris 10 10/09 Disponible

solaris10-easy_get

Solaris 10 10/09 el primero de la era Oracle

Descarga | Solaris

Oracle compra Sun

oracle

Pues al final el gato al agua, no se lo llevo IBM sino Oracle, quien ha adquirido a Sun por unos 7.400 millones de dólares (calderilla ^^). Ahora la pregunta que esta en el aire es:

¿Futuro negro para MySQL?

Mas informacion | FayerWayer

Tip: Ver todas las constraints en Oracle

Las restricciones o Constraints son un mecanismo de seguridad y proteccion en las bases de datos por ejemplo para evitar insertar valores nulos en determinados campos de la tabla o evitar la duplicidad erronea de filas. Si defines una clave primaria en una tabla, se activa la constraint correspondiente de manera que si intentas insertar una nueva fila cuya clave primaria coincide con una ya existente, salta la constraint correspondiente y el consiguiente error de oracle (o la base de datos que estes utilizando) avisandote de ello.

oracleconstraints

Si tienes un modelo de datos muy grande, que maneje muchas constraints es posible que en la depuracion de un programa exista un error de base de datos y conozcas el nombre de la constraint, pero no su regla (si es clave primaria, si es clave foranea, si la longitud debe ser mayor que un cierto valor, si el campo no debe ser null, etc).
Para facilitarte la busqueda de su significado tal vez te sea de interes la siguiente vista del diccionario de datos:

SELECT * FROM all_constraints

Apareceran todas las constraints del modelo (las tablas accesibles) y ya podras filtrar por nombre de la tabla (donde aplica la restriccion) o nombre de la constraint. Bueno, bonito y barato…

Mas informacion | All_constraints | Oracle

Funciones RPAD y LPAD (Formateando datos en Oracle)

oracle1

Si trabajamos con sqlplus desde la consola o queremos hacer una presentacion mas legible cuando usemos scripts SQL estas funciones nos interesaran: RAP y LPAD. Una rellena por la derecha, la otra por la izquierda. Su sintaxis es :

– campo columna sobre el que tratar.
– numero de caracteres.
– caracter de relleno.

Ejemplo: RPAD(usuarios,20,’.’) : rellena con puntos ‘.’ hasta completar los 20 caracteres.

Mas informacion en | Tech Writings





¿Es compatible tu equipo con Ubuntu?


( Muchos fondos de pantalla, aqui )

DESCARGATE SCIFI LIFE

365 Dias de Soledad
Me debes los sueños, las promesas y las noches rotas. Me debes la paz, la sonrisa y la esperanza robadas. Me debes la sangre, las lágrimas y el sudor vertido. Me debes las noches vacías, los abrazos anhelados. Me debes un beso de ajenjo de tu amarga boca.

The Ubuntu Counter Project - user number # 11961
Geo Visitors Map

Archivos

julio 2020
L M X J V S D
 12345
6789101112
13141516171819
20212223242526
2728293031  

Blog Stats

  • 31.070.172 hits