|
本帖最后由 roych 于 2020-6-30 10:19 编辑
写存储过程,拼接语句(因为文件名是动态的),然后执行。还能怎么处理?导入的暂时还没写,导出的给一段:
- --创建存储过程
- CREATE PROCEDURE A9_output(@tableName nvarchar(50),@dateFieldName nvarchar(50))
- AS
- --声明执行语句
- declare @strSQL nvarchar(255),
- --短日期
- @startDate date,
- --长日期
- @startDateTime datetime,
- @endDateTime datetime
- set @startDate=GETDATE()
- --获取前一天数据
- set @startDateTime=DATEADD(day,-1,@startDate)
- --SQL Server能识别的最大毫秒数是997
- set @endDateTime=DATEADD(MILLISECOND,-3,convert(datetime,@startdate))
- set @strSQL='bcp'+' "select * from A9.dbo.'+@tableName+' where '+@dateFieldName+' between '''
- +convert(varchar(23),@startDateTime,21)+''' and '''+convert(varchar(23),@endDateTime,21)+
- '''" queryout "d:\wangxun\'+@tablename+'.txt" -c -S"192.168.101.28\SQL2014" -U"sa" -P"admin.123"'
- BEGIN
- --print @strSQL
- EXEC master..xp_cmdshell @strSQL
- END
- GO
- --执行存储过程:
- exec A9_output '表名称','日期字段名称'
复制代码 类似于这样,通过拼接SQL语句,用bcp导入导出都是可以的。
|
评分
-
1
查看全部评分
-
|