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

时间:2017-09-17 17:07:42

标签: sql-server stored-procedures concatenation

我试图在查询中连接我的存储过程的参数,但它始终显示错误。这是我的疑问:

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'.

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

1 个答案:

答案 0 :(得分:2)

首先在VARCHAR变量中构造命令,然后在exec语句中使用该变量。您无法连接字符串来代替存储过程参数。

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