如何编写bcp命令..? [英] How to write bcp command..?
问题描述
我在sql中编写了一个bcp命令来创建文本文件..
请帮我解决这个查询的问题..
声明@bcpcmd varchar(50),
声明@query varchar(500),
声明@filepath varchar(500),
声明@separator varchar(1)
set @ query ='select * from tbl_fs_mst'
set @ filepath ='D:pulse'
set @ separator =''
set @ bcpcmd ='bcp'+ @ query +'queryout'+ @ filepath +'-T -c -t'+ @ separator +''
exec master..xp_cmdshell @bcpcmd
请在下面找到错误声明
消息156,等级15,状态1,行2
关键字'declare'附近的语法不正确。
消息156,等级15,状态1,行3
关键字'declare'附近的语法不正确。
消息156,等级15 ,状态1,第4行
关键字'declare'附近的语法不正确。
消息137,级别15,状态1,行5
必须声明标量变量@query。
消息137,级别15,状态1 ,第6行
必须声明标量变量@filepath。
消息137,级别15,状态2,行9
必须声明标量变量@query。
消息137,级别15,状态2,行11
必须声明标量变量@bcpcmd。
I have written one bcp command in sql to create text file..
please help me how to corect this query..
declare @bcpcmd varchar(50),
declare @query varchar(500),
declare @filepath varchar(500),
declare @separator varchar(1)
set @query='select * from tbl_fs_mst'
set @filepath='D:pulse'
set @separator=' '
set @bcpcmd='bcp "'+@query+'" queryout '+@filepath+' -T -c -t "'+@separator+'"'
exec master..xp_cmdshell @bcpcmd
please find the error statment below
Msg 156, Level 15, State 1, Line 2
Incorrect syntax near the keyword 'declare'.
Msg 156, Level 15, State 1, Line 3
Incorrect syntax near the keyword 'declare'.
Msg 156, Level 15, State 1, Line 4
Incorrect syntax near the keyword 'declare'.
Msg 137, Level 15, State 1, Line 5
Must declare the scalar variable "@query".
Msg 137, Level 15, State 1, Line 6
Must declare the scalar variable "@filepath".
Msg 137, Level 15, State 2, Line 9
Must declare the scalar variable "@query".
Msg 137, Level 15, State 2, Line 11
Must declare the scalar variable "@bcpcmd".
推荐答案
如果你想用逗号分隔的列表声明几个变量,你只需要DECLARE一次!
If you want to declare several variables with a comma separated list you need DECLARE only once!
declare @bcpcmd varchar(50),
@query varchar(500),
@filepath varchar(500),
@separator varchar(1)
或者您可以在单独的行上使用自己的DECLARE编写每个变量,但在这种情况下,它们之间不需要逗号(这是语法错误)
Or you can write every variable with its own DECLARE on separate lines, but in that case you need no commas between them (it is a syntax error)
declare @bcpcmd varchar(50)
declare @query varchar(500)
declare @filepath varchar(500)
declare @separator varchar(1)
(注意这里没有逗号)
(notice the lack of commas here)
这篇关于如何编写bcp命令..?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!