Ver Mensaje Individual
  #102  
Antiguo 13-11-2012
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Reputación: 23
poliburro Va por buen camino
Cita:
Empezado por cointec Ver Mensaje

No es lo mismo devolver un cursor, que el propio procedimiento sea un cursor.

Select *
From procedimiento( aram1, aram2,..., : paramN )

Un procedimiento no se realiza para sustituir un simple select como en el caso que has puesto, su objetivo es realizar un procesamiento más o menos complejo, donde pueden intervenir consultas de varias tablas y operaciones más o menos complejas con los datos obtenidos de ellas, por ejemplo. Una de sus funciones es no es sustituir un simple select. Y el resultado de todo ello es un conjunto de registros que puedes tratar como una tabla.

Quizá podrías mostrar como devolver un recordset con características similares en sqlserver, mysql u oracle para poder comparar realmente si es más o menos complejo, porque no creo que se pueda comparar el select que has puesto como ejemplo con el procedimiento almacenado que se ha escrito.

Claro, un SP contiene dentro de si mucho código PLSQL, pero en el caso que se trata es meramente sobre como devolver un resulset. y si, aunque parezca muy simple, realmente en otros motores de bases de datos devolverlos es muy sencillo... no necesitas tanto trabajo para devolver un simple resultset.

esto

Código SQL [-]
 
Select * 
From procedimiento( aram1, aram2,..., : paramN )

Es exactamente lo mismo que cualquiera de estos:

Código SQL [-]
 
CALL procedimiento( param1, param2,..., : paramN );
 
Exec procedimiento( param1, param2,..., : paramN );

Te devuelven todos un resulset
__________________
Conoce mi blog http://www.edgartec.com
Responder Con Cita