FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Procedimientos almacenados VS UDF
tengo un procedimiento almacenado que me permite sacar el nombre de un cliente llamado: NombreCliente(Codigo) al cual le paso el codigo del cliente
Necesito efectuar una seleccion de la siguiente manera select factura,NombreCliente(Codigo) from ventas es posible esto en interbase , en otras palabras que el procedimiento almacenado se comporte como un UDF De antemano agradesco las sugerencias a este problema Robeto Quiroz Calle |
#2
|
||||
|
||||
Hola.
Puedes hacer un JOIN con el procedimiento almacenado. Código:
select factura, Cliente.Nombre from ventas left outer join NombreCliente(Codigo) Cliente on 1 = 1 Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). Última edición por guillotmarc fecha: 07-01-2004 a las 12:11:27. |
#3
|
|||
|
|||
usando tu idea efectue la siguiente consulta
select v.ninterno,v.ineto,cliente.nombre from pcventa v left outer join NombreCliente(v.ccliente) Cliente on 1 = 1 y me envia el siguiente mensaje columna does not belong to referenced table Dinamic SQL error SQl error code = -206 column unknown CLIENTE disculpa la molestia Roberto Quiroz |
#4
|
||||
|
||||
Hola.
Esto lo he probado con Firebird 1.03, y funciona bien. ¿ Que Interbase utilizas ? Por cierto, no creo que sea el caso, pero pón igual las mayúsculas del alias cliente. En la definición del alias tienes la primera letra en mayúsculas, y en la designación del campo no. Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no). |
#5
|
|||
|
|||
Estoy utilizando Interbase 6.01, hice todas las modificaciones posibles y no funciona .
Voy a instalar Firebird 1.5 y te comunico como me fue Gracias por tu ayuda Roberto Quiroz |
#6
|
||||
|
||||
¡Hola a todos!
He probado con Join en Firebird 1.5, y funciona. Ahora mi pregunta es: ¿Esta es la manera más práctica de utilizar un procedimiento almacenado, dentro de una sentencia Select a manera de función UDF, para usar el valor (o los valores) que devuelve como columnas del conjunto de datos resultante? Intento concentrar en un procedimiento almacenado, lo que de otra forma tendría que ser un sub-select directo y más largo de escribir. Muchas gracias. Al González . |
#7
|
||||
|
||||
Puede ser correcta... aunque creo que tiene un impacto en el rendimiento de la BD (suponiendo que el optimizador ya esté trabajando mejor... ).
Yo utilizo un mecanismo similar en oracle... pero alli si existe el concepto de funcion almacenada, y realmente puede simplificar mucho las consultas. Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
|
|
|