Daha önce Oracle da yapmış olduğumuz ancak SQL tarafında bir türlü fırsat bulup hazırlayamadığımız satırları birleştirmeye yarıyan Procedure ı burada bulabilirsiniz. Bu Procedure ın diğer satır birleştirmeye yarayan Procedure lerdan farkı parametre olrak SQL Sorgusu veriyor olmanız.Özellikle SeriNo birleştirme, İrsaliye Numaralarını birleştirme gibi işlemlerde kullanabilirsiniz.Umarım işinize yarar…..

CREATE PROCEDURE NSP_ROWCONCAT(@SQL1 VARCHAR(MAX)) AS

BEGIN

DECLARE  @SQL2 VARCHAR(MAX)

SET @SQL2 = ‘DECLARE  @SQL VARCHAR(MAX)

DECLARE  @RES VARCHAR(MAX)

DECLARE CUR CURSOR FOR ‘ +@SQL1 +’

OPEN CUR

FETCH NEXT FROM CUR INTO @SQL

WHILE @@FETCH_STATUS = 0

BEGIN

PRINT @SQL

IF @RES IS NULL

      SET @RES = @SQL

ELSE

      SET @RES = @RES +”;” + @SQL

 

FETCH NEXT FROM CUR INTO @SQL

END

CLOSE CUR

DEALLOCATE CUR

SELECT @RES’

EXEC (@SQL2)

END

– örnek kullanim

DECLARE @SQL1 VARCHAR(MAX)

SET @SQL1 =  ‘SELECT  GRUP_KODU FROM TBLSTSABIT WHERE STOK_ADI LIKE  ”%PIG%”’

EXEC NSP_ROWCONCAT @SQL1