如何编写bcp命令..? [英] How to write bcp command..?

查看:133
本文介绍了如何编写bcp命令..?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆