【问题标题】:Export @tempTable to .txt file in SQL server将@tempTable 导出到 SQL Server 中的 .txt 文件
【发布时间】:2013-09-10 03:09:15
【问题描述】:

检查我的最后一个问题Export values from SQL Server to txt file。我可以用我的最后一个问题将值导出到 .txt 文件。我想将@tempTable 导出到 .txt 文件。我该怎么做?

编辑: 我的要求:我只想将表中的更新数据导出到 .txt 文件,假设用户在现有表中插入 10 行新数据,我希望那 10 行存在在 .txt 文件中。我在触发器中使用插入表来获取更新的行,当我尝试从bcp 导出到 .txt 文件时,我不能,因为我不知道插入表的完整上下文([数据库]。[模式]。 [表名])。所以我决定在@tempTable中插入表格数据来导出.txt文件。

这是我想做的export inserted table data to .txt file in SQL server

【问题讨论】:

    标签: sql sql-server triggers sql-server-2012


    【解决方案1】:

    您可以简单地将内存表加载到常规表中,然后使用您已经拥有的代码进行导出

    select * into queryout from @tempTable
    -- your code from step 1
    drop table queryout
    

    这里是您的触发器的更新版本,应该可以完成工作

    create trigger monitorTest1 on test for insert as 
    declare @sql varchar(8000); 
    select * into tempTable from inserted
    SELECT @sql = 'bcp "select * from test2.dbo.tempTable" queryout C:\temp\mytest.txt -c -t -T -S localhost'
    exec xp_cmdshell @sql
    drop table tempTable
    

    【讨论】:

    • create trigger monitorTest1 on test for insert as create table tempTable(name varchar(100),id int); insert into tempTable select * from inserted; declare @sql varchar(8000); SELECT @sql = 'bcp "select * from test2.dbo.tempTable" queryout I:\File\mytest.txt -c -t -T -S YAMUNA\SQLEXPRESS'; exec xp_cmdshell @sql; drop table tempTable; go我试过这样,但是当我尝试在test表中插入值时,它会导致执行无限循环(未完成执行,继续运行)
    • create trigger monitorTest1 on test after insert as select * into queryout from inserted; declare @sql varchar(8000); SELECT @sql = 'bcp "select * from queryout" queryout I:\File\mytest.txt -c -t -T -S YAMUNA\SQLEXPRESS'; exec xp_cmdshell @sql; drop table queryout; go 我也尝试了你的建议,但结果相同(继续执行永远不会完成)。
    • 我试过你的答案:我已经创建了触发器,就像你在更新的测试表答案中所说的那样,我尝试在测试表中插入值,结果:它继续执行永远不会完成。
    • 在我的服务器上它可能运行了 5 秒。嗯....您已经在 SQL MGMT Studio 中成功执行了 xp_cmdshell 命令,正如我所假设的那样。你在 sqlserver 日志中看到了什么吗??
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多