Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/10/2016, 17:34
jm_shinigami
 
Fecha de Ingreso: marzo-2011
Ubicación: San Salvador
Mensajes: 49
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: OUTPUT Incomplento Utilizando Varible Table

Estimados comentos mis avances para una mejor claridad.

ACtualmente mi SP esta de esta manera.

Código SQL:
Ver original
  1. CREATE PROCEDURE sp_test1
  2. (
  3.     @cliente_codigo CHAR(6),
  4.     @producto_codigo CHAR(2),
  5.     @fecha DATE,
  6.     @dias INT,
  7.     @vl_sucursal CHAR(3) OUTPUT,
  8.     @vl_cantidad INT OUTPUT,
  9.     @vl_valor1 DECIMAL(5,2) OUTPUT,
  10.     @vl_valor2 DECIMAL (5,2) OUTPUT
  11. )
  12. AS
  13. --SET XACT_ABORT, NOCOUNT ON
  14. CREATE TABLE #tmp
  15. (
  16.     id INT IDENTITY ,
  17.     vl_sucursal CHAR(6),
  18.     vl_cantidad INT,
  19.     vl_valor1 DECIMAL(5,2),
  20.     vl_valor2 DECIMAL(5,2)
  21. )
  22.  
  23. DECLARE @ROW INT = 1
  24.  
  25. INSERT INTO #tmp(vl_sucursal,vl_cantidad,vl_valor1,vl_valor2)
  26. EXEC ('execute procedure proc_calcula_nuevodato (?,?,?,?)',@cliente_codigo,@producto_codigo,@fecha,@dias) AT SERVIDOR1
  27.  
  28. WHILE @ROW <= (SELECT COUNT(*) FROM #tmp)
  29.     BEGIN
  30.        
  31.         SELECT @vl_sucursal=vl_sucursal,
  32.                  @vl_cantidad=vl_cantidad,
  33.                  @vl_valor1=vl_valor1,
  34.                  @vl_valor2=vl_valor2
  35.         FROM   #tmp
  36.         WHERE  id=@ROW
  37.        
  38.            --PRINT @vl_prov_codigo
  39.         --PRINT @vl_facmae_piezas
  40.         --PRINT @vl_valor_tarifa_2
  41.         --PRINT @vl_facmae_valfact
  42.  
  43.         SET @ROW = @ROW + 1;
  44.        
  45.     END
  46.  
  47. DROP TABLE #tmp
  48. GO

Como se observa he cambiado a un WHILE para tratar de recorrer los registros (NO se si es la forma correcta).

En el query analizer ejecuto esto:
Código SQL:
Ver original
  1. EXEC BDD.dbo.sp_test1 '000001','FF','07-02-2014',3,0,0,0,0

Pero no obtengo el listado que quiero solo obtengo el mensaje:
Código:
(2 row(s) affected)
Tengo dos registros que quiero mostrar, no se donde me estare quendando para que no funcione.

Los PRINT que hago si muestra la informacion pero no como quiero mostrar.

Agradecere cualquier aporte.

Última edición por jm_shinigami; 13/10/2016 a las 17:51