我想在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
根据您的评论,您应该使用另一个表而不是文本文件:
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
不需要数据离开数据库。