Carlos :
    hay Alguna razon tecnica por la cual quieras evitar las funciones ???
  ----- Original Message ----- 
  From: Carlos A. Schroeter 
  To: [EMAIL PROTECTED] 
  Sent: Wednesday, February 20, 2008 1:45 PM
  Subject: [dbadmin] Stored Procedures que devuelvan valores


  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 

    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

    __________ 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

    __________ 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