Comment utiliser pivot dans une procédure stockée récursive

je suis de séparation d'un varchar selon spaces (je sais le pas. de places)

j'utilise un stored procedure (Recursive) pour ce faire

Alter procedure [dbo].[1234]
   @name varchar(100),
   @count int 
AS 
BEGIN 

    if @count=1
    begin
        set @name=SUBSTRING(@name,CHARINDEX(' ',@name,1)+1,LEN(@name))
        select @name
    end
    if @count>1
    begin
        select SUBSTRING(@name,1,CHARINDEX(' ',@name,1)-1)
        set @count=@count-1
        set @name=SUBSTRING(@name,CHARINDEX(' ',@name,1)+1,LEN(@name))
        exec [dbo].[1234] @name,@count
    end
END

j'exécute le SP suivant sur

exec [dbo].[1234] 'a b c d e f g h',8

Et mon résultat est enter image description here

mais je veux mon résultat comme

Image http://s9.postimage.org/meqqr3dqn/result1.png

0
demandé sur Luv 2012-12-31 15:51:51

1 réponses

Alter procedure [dbo].[1234]
   @name varchar(100)
as   
Select @name='Select' + ''''+Replace(@name,' ',''',''')+''''
EXEC( @name)

GO

[1234] 'A b c d e f'

Voici une SQL Violon démo .

3
répondu bummi 2012-12-31 12:59:20