Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Devolver un valor desde un pl-sql a un script de shell

Estas en el tema de Devolver un valor desde un pl-sql a un script de shell en el foro de Oracle en Foros del Web. Hola, pues eso es lo que me gustaría saber cómo hacer. Es decir, desde un script de shell, abro una conexión con el sqlplus y ...
  #1 (permalink)  
Antiguo 27/07/2007, 03:36
 
Fecha de Ingreso: abril-2007
Mensajes: 160
Antigüedad: 17 años
Puntos: 1
Devolver un valor desde un pl-sql a un script de shell

Hola, pues eso es lo que me gustaría saber cómo hacer.

Es decir, desde un script de shell, abro una conexión con el sqlplus y llamo a un pl-sql. ¿Cómo podría desde el pl-sql devolverle un valor (de texto, numérico,...) al script para capturarlo y realizar una u otra acción dependiendo de dicho valor?

También me gustaría resolver una duda que no me corre prisa saber y que creo que es obvia pero aun así lo pregunto para salir de dudas: ¿se puede llamar desde un pl-sql de un paquete a otro pl-sql de otro paquete que esté en la misma base de datos? Supongo que por supuesto que sí (otra cosa sería que estuviera en otra base de datos).
  #2 (permalink)  
Antiguo 27/07/2007, 06:07
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 16 años, 10 meses
Puntos: 43
Re: Devolver un valor desde un pl-sql a un script de shell

Te lo pongo de corrido, no se si es exacto pero investiga a partir de ahí :

variable vsalir number;

begin
paquete.funcion(:vsalir);
end;
/

exit :vsalir

Esto te ejecuta la función de un paquete y te deja el resultado de :vsalir en alguna variable del S.O., solo tienes que capturarla y proceder en consecuencia.

Respecto a lo otro, vas bien encaminado. Desde un pl-sql puedes llamar a los pl-sql que quieras, estén en tu BBDD ó esten en una BBDD remota.
En el primer caso solo necesitas permisos para su ejecucion y en el segundo un simple DB_LINK.

Espero haberte aclarado tus dudas.
  #3 (permalink)  
Antiguo 10/08/2007, 08:11
 
Fecha de Ingreso: abril-2007
Mensajes: 160
Antigüedad: 17 años
Puntos: 1
Re: Devolver un valor desde un pl-sql a un script de shell

Cita:
Iniciado por jc3000 Ver Mensaje
Te lo pongo de corrido, no se si es exacto pero investiga a partir de ahí :

variable vsalir number;

begin
paquete.funcion(:vsalir);
end;
/

exit :vsalir

Esto te ejecuta la función de un paquete y te deja el resultado de :vsalir en alguna variable del S.O., solo tienes que capturarla y proceder en consecuencia.

Respecto a lo otro, vas bien encaminado. Desde un pl-sql puedes llamar a los pl-sql que quieras, estén en tu BBDD ó esten en una BBDD remota.
En el primer caso solo necesitas permisos para su ejecucion y en el segundo un simple DB_LINK.

Espero haberte aclarado tus dudas.
No veo muy claro el tema. Me parece que lo que has querido nombrar, es un procedimiento por el cual acabas obteniendo el valor devuelto por el PL en una variable del SQL Plus.

He estado buscando, y no hay mucho, lo poco que he encontrado son links como:

http://unix.ittoolbox.com/groups/tec...n-shell-667335

http://www.unix.com/shell-programmin...tore-proc.html

En fin... que no he encontrado ni me ha salido un modo de pasar directamente un valor de salida de un pl, a una variable de UNIX.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:34.