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

Responder a