Gracias Marcelo
Aunque quería evitar las funciones, parece que no hay otra salida Muchas Gracias De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Marcelo Bossoletti Enviado el: miércoles, 20 de febrero de 2008 13:29 Para: Carlos A. Schroeter Asunto: [dbadmin] Stored Procedures que devuelvan valores En este caso tenes que pasar los Sp a funciones y las tratas como tal.. Saludos.. ----- Original Message ----- From: Carlos A. Schroeter <mailto:[EMAIL PROTECTED]> To: [EMAIL PROTECTED] Sent: Wednesday, February 20, 2008 12:32 PM Subject: [dbadmin] Stored Procedures que devuelvan valores Gracias, Mariano No funca, sigo buscando Muchas gracias De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Mariano Dios Enviado el: miércoles, 20 de febrero de 2008 12:05 Para: Carlos A. Schroeter Asunto: [dbadmin] Stored Procedures que devuelvan valores Carlos, es cierto, la sentencia no está bien escrita. En todo caso debería ser: declare @Resultado varchar(20) exec @Resultado = Procedimiento select @Resultado Pero hasta donde yo se, la asignación del resultado de un procedimiento se hace para chequear si funcionó bien o no(con el codigo de retorno del procedimiento, el RETURN 0, o cualquier otro valor si hubo un error). Deberías usar el parametro de salida, o seguir buscando. Mariano _____ From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: [dbadmin] Stored Procedures que devuelvan valores Date: Wed, 20 Feb 2008 11:55:22 -0200 Gracias por la respuesta Mariano Es lo primero que quise hacer pero SQL 2000 no admite la sentencia SELECT @Resultado = EXEC MIPROCEDIMIENTO Devolviendo el siguiente error: Sintaxis incorrecta cerca de la palabra clave 'exec'. Gracias De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Mariano Dios Enviado el: miércoles, 20 de febrero de 2008 11:36 Para: Carlos A. Schroeter Asunto: [dbadmin] Stored Procedures que devuelvan valores Hola Carlos, si los procedimientos devuelven un solo dato, lo solucionas asignándole el resultado a una variable local de tu procedimiento. Algo así como: declare @Resultado INT SELECT @Resultado = EXEC Procedimiento_I SELECT @Resultado Ahora, si tus procedimientos devuelven más de un dato, una consulta de varias columnas por ejemplo, tendrías que usar los llamados parametros de salida de un procedimiento. Sería más o menos así: CREATE PROCEDURE Procedimiento_II @Parametro_I INT, @Parametro_II VARCHAR(10) OUTPUT, @Parametro_III VARCHAR(10) OUTPUT AS ... .... RETURN 0 Y cuando llamas al procedimiento Procedimiento_II, lo haces de la siguiente manera: DECLARE @Parametro_I VARCHAR(10) DECLARE @Parametro_II VARCHAR(10) Llamas al procedimiento, avisando que los parametros 2 y tres son de salida: EXEC Procedimiento_II 100, @Parametro_I OUTPUT, @Parametro_II OUTPUT Una vez ejecutado, en @Parametro_I y @Parametro_II vas a tener los resultados qeu se le hayan asignado dentro del procedimiento. Haces la seleccion de datos final: SELECT @Parametro_I, @Parametro_II Probá a ver si te funciona. Mariano _____ From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: [dbadmin] Stored Procedures que devuelvan valores Date: Wed, 20 Feb 2008 11:12:47 -0200 Hola Grupo Quisiera saber si es posible y cual es la manera más adecuada de hacer lo siguiente desde SQL 2000 Tener un Stored Procedure principal que se encarga de llamar a otros Stored de los cuales recibe valores. Por Ejemplo algo del tipo: CREATE PROCEDURE PRINCIPAL @FECHA SMALLDATETIME AS EXEC SP_VENTAS @FECHA EXEC SP_COMPRAS @FECHA .. .. .. COMO CAPTURO LO QUE DEVUELVEN ESTOS STORED??? GO CREATE PROCEDURE SP_VENTAS @FECHA AS SMALLDATETIME AS SELECT SUM(IMPORTE) FROM VENTAS WHERE FECHA = @FECHA GO CREATE PROCEDURE SP_COMPRAS @FECHA AS SMALLDATETIME AS SELECT SUM(IMPORTE) FROM COMPRAS WHERE FECHA = @FECHA GO Muchas Gracias! Carlos A. Schroeter _____ Ingresá ya a MSN en Concierto y disfrutá los recitales en vivo de tus artistas favoritos. MSN en Concierto <http://msninconcert.msn.com/music/archive/es-la/archive.aspx> __________ Información de NOD32, revisión 2888 (20080220) __________ Este mensaje ha sido analizado con NOD32 antivirus system http://www.nod32.com _____ Ingresá ya a MSN Deportes y enterate de las últimas novedades del mundo deportivo. MSN Deportes <http://msn.foxsports.com/fslasc/> __________ Información de NOD32, revisión 2888 (20080220) __________ Este mensaje ha sido analizado con NOD32 antivirus system http://www.nod32.com __________ Información de NOD32, revisión 2889 (20080220) __________ Este mensaje ha sido analizado con NOD32 antivirus system http://www.nod32.com
