LinuxParty

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

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.

Vía Ubuntu Life.

Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías

We use cookies

Usamos cookies en nuestro sitio web. Algunas de ellas son esenciales para el funcionamiento del sitio, mientras que otras nos ayudan a mejorar el sitio web y también la experiencia del usuario (cookies de rastreo). Puedes decidir por ti mismo si quieres permitir el uso de las cookies. Ten en cuenta que si las rechazas, puede que no puedas usar todas las funcionalidades del sitio web.