首页 > 解决方案 > 如何将多个字符串绑定到游标中的 1 个变量中?

问题描述

我想将一个变量的字符串绑定到另一个变量中,对每个游标重复。

我目前有这个:

DECLARE curA CURSOR FOR 
    SELECT A FROM TableA

OPEN curA   
FETCH NEXT FROM curA INTO @varA
WHILE @@FETCH_STATUS = 0
    BEGIN 
        ........            
        FETCH NEXT FROM curA INTO @varA
    END

CLOSE curA

现在我想将光标中@varA(@varA 在字符串中)的所有记录连接成@varB,例如:@varB = 'Acbd, efgh, xyz...'

我该怎么做?

标签: sqlsql-servertsql

解决方案


我会使用FOR XML PATH()子句而不是cursoror looping

SELECT @varA = STUFF( (SELECT ', '+A
                       FROM tablea
                       FOR XML APTH('')
                      ), 1, 1, ''
                    );

推荐阅读