Ver Mensaje Individual
  #4 (permalink)  
Antiguo 06/12/2013, 16:07
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 4 meses
Puntos: 774
Respuesta: Obtener valor de procedimiento, invocado desde otro

y el procedure retorna algun valor?? ya probaste que tu codigo regrese algo?? prueba poniendo que retorne una cadena fija..

ya vi donde tienes el error:

Código SQL:
Ver original
  1. @pCARACTER          VARCHAR(1),
  2.     @pSTRING            VARCHAR(MAX),
  3.     @pSTRING_RETORNO    VARCHAR(MAX) OUTPUT
  4. AS
  5.  
  6.     DECLARE @TABLA_DATOS    AS TABLE (DATO VARCHAR(MAX));
  7.     DECLARE @DATO_ACTUAL    VARCHAR(MAX);
  8.     DECLARE @DATOS_FINALES  VARCHAR(MAX);
  9.     DECLARE @EXISTE_DATO    INT;
  10.  
  11. BEGIN
  12.  
  13.     SET @DATO_ACTUAL    = '';
  14.     SET @DATOS_FINALES  = '';
  15.     SET @EXISTE_DATO    = 0;
  16.  
  17.     WHILE (LEN(@pSTRING) > 0)
  18.     BEGIN
  19.         SELECT @DATO_ACTUAL = SUBSTRING(@pSTRING, 1, CHARINDEX(@pCARACTER, @pSTRING) - 1);
  20.  
  21.         SET @pSTRING = SUBSTRING(@pSTRING, CHARINDEX(@pCARACTER, @pSTRING) + 1, LEN(@pSTRING));
  22.  
  23.         SELECT  @EXISTE_DATO = COUNT(*)
  24.         FROM    @TABLA_DATOS
  25.         WHERE   DATO = @DATO_ACTUAL;
  26.  
  27.         IF (@EXISTE_DATO = 0)
  28.         BEGIN
  29.             INSERT INTO @TABLA_DATOS (DATO) VALUES (@DATO_ACTUAL);
  30.         END
  31.  
  32.     END
  33.  
  34.     SET @DATOS_FINALES = '';
  35.     SET @pCARACTER = @pCARACTER + ' ';
  36.  
  37.     SELECT  @DATOS_FINALES = COALESCE(@DATOS_FINALES + @pCARACTER, '') + DATO
  38.     FROM    @TABLA_DATOS;
  39.  
  40.     SELECT @DATOS_FINALES = LTRIM(RTRIM(SUBSTRING(@DATOS_FINALES,2,LEN(@DATOS_FINALES))));
  41.     SET @pSTRING_RETORNO=@DATOS_FINALES

prueba con esta modificacion y comentas :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Última edición por Libras; 06/12/2013 a las 16:28