![]() |
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 |
Hola.
Puedes hacer un JOIN con el procedimiento almacenado. Código:
select factura, Cliente.Nombre Saludos. |
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 |
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. |
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 |
¡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 :). |
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. ;) |
La franja horaria es GMT +2. Ahora son las 06:53:16. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi