Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/04/2008, 11:57
Avatar de Beakdan
Beakdan
 
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 22 años, 4 meses
Puntos: 7
Re: Store Procedure select "dinamico"

Si realmente debes usar SQL dinámico, usa el store SP_EXECUTESQL. Te permitirá definir variables de tipo OUTPUT.
Sin embargo, por el código que expones, te estás complicando demasiado la existencia. Tu consulta no amerita el uso de sql dinámico en manera alguna. Sólo tienes una variable para afectar el resultado, y ésta no define ningún path de ejecución distinto. Esto debería funcionar:
Código:
CREATE PROCEDURE USP_INV_MOVIMIENTOSALINICIAL
(
    @pCodigo as varchar(25),
    @psalcant numeric(16,10) output,
    @pscostsl numeric(16,10) output,
    @pscostus numeric(16,10) output
)
AS
BEGIN
    SET NOCOUNT ON;

    SELECT        TOP 1
                @psalcant = A.CAMPO019,
                @pscostsl = A.CAMPO034,
                @pscostus = A.CAMPO035
    FROM        TAB011 A
    LEFT JOIN    TAB006 B
                ON A.campo014 = B.Campo001
    WHERE        A.CAMPO014 = @pCodigo
                AND A.CAMPO003 < '20070101'
    ORDER BY    a.campo003 desc, 
                a.campo016 desc,
                a.campo001 desc,
                a.campo002 desc,
                a.campo050 desc
END