2017-09-17 12 views
0

私はストアドプロシージャのパラメータをクエリ内で連結しようとしていますが、常にエラーを表示し続けます。このクエリは:SQL Serverの文字列クエリ内でストアドプロシージャのパラメータを連結する方法はありますか。

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

エラーは最初の連結記号[最初のプラス記号]に表示されます。私はここで何の誤りを犯しましたか?

+0

「fname」の前に@が付いていないのは、有効なパラメータではない可能性があります。 –

+0

@を追加しましたが、エラーは表示され続けます。 – Haytham

答えて

1

最初にVARCHAR変数でコマンドを作成し、execステートメントで変数を使用します。ストアド・プロシージャ・パラメータの代わりに文字列を連結することはできません。

DECLARE @cmd VARCHAR(8000); 
SET @cmd=...; -- build your command shell command here 
EXEC xp_cmdshell @cmd; 
関連する問題