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

Funciones y otras cosas

Estas en el tema de Funciones y otras cosas en el foro de Oracle en Foros del Web. Hola a tod@s. Tengo varias preguntas, en realidad 2: 1. Debo hacer una función así: Funcion(algo, UnaFecha, UnString) As Varchar2(50) El parámetro "algo" debe ser ...
  #1 (permalink)  
Antiguo 16/11/2007, 16:54
 
Fecha de Ingreso: septiembre-2005
Mensajes: 73
Antigüedad: 19 años, 2 meses
Puntos: 0
Funciones y otras cosas

Hola a tod@s.

Tengo varias preguntas, en realidad 2:

1. Debo hacer una función así:

Funcion(algo, UnaFecha, UnString) As Varchar2(50)

El parámetro "algo" debe ser como un tipo de objeto, es decir, no es un string o un dato comun para Oracle, debe ser un tipo común de dato que yo pueda manejar dentro de la función.

Esto se puede?

2. Si mi aplicación maneja conexiones a diversas Bases de Datos de Oracle y el archivo para la conexión de Oracle ya está configurado.... debo hacer algo más u Oracle solito sabe a cual instancia conectarse o hay que hacerle otra cosa?

De antemano gracias.
__________________
Henry :-D
  #2 (permalink)  
Antiguo 16/11/2007, 18:53
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años
Puntos: 85
Re: Funciones y otras cosas

Hola,

Cita:
El parámetro "algo" debe ser como un tipo de objeto, es decir, no es un string o un dato comun para Oracle, debe ser un tipo común de dato que yo pueda manejar dentro de la función.
Esta parte no la entendi, pero una funcion puede tener como argumentos y valores de retorno cualquier tipo de dato soportado por PL/SQL. La unica restriccion que hay es que no puede tener un BOOLEANO como retorno en una llamada SQL, por ejemplo, si MyFunction devuelve un TRUE o FALSE,

Esto es invalido, en estos casos hay que devolver un 0 o 1 emulando un booleano.

Código:
SELECT MyFunction(args) FROM dual;
Esto es valido

Código:
declare
a boolean;
begin
a := MyFunction(args);
end;

Cita:
2. Si mi aplicación maneja conexiones a diversas Bases de Datos de Oracle y el archivo para la conexión de Oracle ya está configurado.... debo hacer algo más u Oracle solito sabe a cual instancia conectarse o hay que hacerle otra cosa?
Si por archivo de conexion de Oracle, te refieres al tnsnames.ora, y si tiene todas las entradas para las bases de datos que vas a utilizar, entonces en tu aplicacion no hay mas que definir en el String de Conexion a que base de datos te quieres conectar.

Saludos.

Última edición por matanga; 16/11/2007 a las 19:04
  #3 (permalink)  
Antiguo 16/11/2007, 18:59
Avatar de matanga  
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 1.091
Antigüedad: 17 años
Puntos: 85
Re: Funciones y otras cosas

Hola,

Cita:
Iniciado por jc3000 Ver Mensaje
Joder.............
Cada dia aparece un SUBNORMAL que mejora las imbeceilidades del anterior
Por?

Saludos.
  #4 (permalink)  
Antiguo 23/11/2007, 06:44
Avatar de Zarta  
Fecha de Ingreso: febrero-2004
Mensajes: 203
Antigüedad: 20 años, 9 meses
Puntos: 2
Re: Funciones y otras cosas

Como realizas la conexión a dos base de datos oracle? Es decir, yo en mi ERP tengo definida una base de datos, pero alguna que otra vez, he necesitado sacar datos de otra base de datos oracle que tenemos, y no se sabido como (Siempre he tenido que realizar un programa en visual basic, un poco chapucero, pero no hay tiempo para investigar en el curro )

Alguna idea?
__________________
apt-get remove window$
urpme window$
  #5 (permalink)  
Antiguo 23/11/2007, 07:53
 
Fecha de Ingreso: noviembre-2007
Ubicación: Argentina
Mensajes: 134
Antigüedad: 17 años
Puntos: 3
Re: Funciones y otras cosas

Usa Dblinks...

En la base donde sacas los datos de vez en cuando de esa base que tienen... crea un usuario pepito que tenga permiso de any select

Luego.... creas un dblink en la base del ERP con el usuario pepito y le pones como nombre, por ejemplo ZARTA.

Entonces desde la base de ERP, haces

Código:
select * from nombre_tabla_de_la_otra_base@ZARTA;
Si no interpreta mal, creo que con eso solucionas tu problema...

Suerte y luego me cuentas.

Sldos Mario.
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 01:26.