读书人

在导出sqlserver 数据库中的表项时如

发布时间: 2012-02-28 13:06:36 作者: rapoo

在导出sqlserver 数据库中的表项时,如果设置备份地址
使用sql server 2000 需要导出数据库中的某个表项,因为每周都需要执行一次导出
所以希望能自动执行导出
sqlserver提供的数据导出只能向一个文件里面重复写入信息

今天查了下资料
EXEC master..xp_cmdshell 'bcp mysql.dbo.test1 out c:\temp1.xls -c -q -S"MICROSOF-8B342F" -U"sa" -P"xucheng"'
这串代码表示将表test1导出到c:\temp1.xls

下面这串代码是今天问群里面一朋友给的
declare @filename nvarchar(100)
set @filename=replace(replace(replace(replace(CONVERT(char(16), getdate(), 120 ),'-',''),'',''),':',''),' ','') +'.xls'
print @filename

表示按照当前系统时间命名

请问下 把这两串结合起来该怎么写,T-sql代码,能实现每次对表项导出时,以当前系统时间自动命名!

[解决办法]

SQL code
动态表名就行了.declare @filename nvarchar(100)set @filename=replace(replace(replace(replace(CONVERT(char(16), getdate(), 120 ),'-',''),'',''),':',''),' ','') +'.xls' declare @cmd nvarchar(4000);set @cmd = 'bcp mysql.dbo.test1 out c:\' + @filename + ' -c -q -S"MICROSOF-8B342F" -U"sa" -P"xucheng"';exec xp_cmdshell @cmd; 

读书人网 >SQL Server

热点推荐