如何在 SQL Server 字符串查询中连接存储过程参数?

4

我正在尝试在查询中连接存储过程的参数,但总是出现错误。这是我的查询:

EXEC xp_cmdshell 'bcp "SELECT matriculeEmployeur,
                              cleEmployeur,
                              codeDexp,
                              trimestre,
                              annee,
                              page,
                              ligne,
                              matriculeAssure,
                              cleAssure,
                              CONCAT(CONCAT(nom,nomPere,prenom),space(60-LEN(CONCAT(nom,nomPere,prenom)))),
                              carteIdentity,
                              salaire 
                              FROM ##myTempo" queryout "FILEPATH"' +fname+ '-c -T'.

我犯了什么错误?第一个连接符[加号]上显示了错误。

也许这是因为fname前面没有加上@,所以它不是一个有效的参数。 - R. Richards
我加了 @ 但错误仍然显示。 - Haytham
1个回答

6

首先在一个 VARCHAR 变量中构建命令,然后在您的执行语句中使用变量。您不能将字符串连接到存储过程参数的位置。

DECLARE @cmd VARCHAR(8000);
SET @cmd=...; -- build your command shell command here
EXEC xp_cmdshell @cmd;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接