SQL Server中的bcp

问题描述 投票:0回答:1

我想在SQL Server中使用bcp将表的数据传输到文本文件。

此后,我想截断该表并将传输的数据从创建的文本文件移动到该表。

我想检查状态(类似错误状态),以了解在将数据从表移动到文本文件或将数据从文本文件移动到表时(在截断表之前和之后)是否存在错误或异常。 )并回滚任何东西并停止该过程。

我该怎么做?

这里是查询

SET @sql = 'bcp "select * from [db].[table]" queryout "C:\textFile.txt" -c -T'
EXEC master..xp_cmdshell @sql

TRUNCATE [db].[table]

SET @sql = 'bcp [db].[table] in "C:\textFile.txt" -c -T -q'
EXEC master..xp_cmdshell @sql
sql-server tsql dynamic-sql bcp xp-cmdshell
1个回答
0
投票

根据您的评论,您应该使用另一个表而不是文本文件:

select *
into temp_table
from [db].[table];

truncate table [db].[table];  -- backup before you do this

-- do whatever changes you want

-- re-insert into the table

不需要数据离开数据库。

© www.soinside.com 2019 - 2024. All rights reserved.