【问题标题】:SQL Select 10 records at a time and convert to XMLSQL 一次选择 10 条记录并转换为 XML
【发布时间】:2016-08-16 03:37:02
【问题描述】:

我有一个表格,例如 1000 行。我需要每 10 个,转换为 XML,然后每 10 行保存到单独的文件。

问题是我不知道如何从数据库中取出每 10 行,完成我的工作,然后再取出 10 行。

我是否需要获取整个数据、XML 然后将其分割到我的文件中,或者有什么简单的方法吗?

非常感谢您的回答。

【问题讨论】:

  • 您使用的是什么 RDBMS(mysql、sql server、postgres、oracle 等)。您使用什么语言与之交互(vb、php、c# 或其他语言?)
  • 我正在使用 sql server,我只需要编写脚本或过程来完成该任务,所以我猜只有 T-SQL
  • 简单的方法是选择所有记录,然后您可以使用 LINQ 命令来执行此操作

标签: sql sql-server select stored-procedures


【解决方案1】:

显然我在这里使用了我的一张桌子,因此请根据需要更换您的桌子。 此外,您还必须解决保存到文件的问题。

希望这会有所帮助.....

DECLARE @i int = 0

WHILE @i < 9 --replace 9 as necessary - probably rowcount / 10
BEGIN

  SELECT (Q._Row / 10) as myGroup, Q.[Type], Q.[Message] FROM
  (
  SELECT ROW_NUMBER() OVER(ORDER BY AuditLogId DESC) AS _Row, 
    [Type], [Message]   
  FROM tblAuditLog
  ) Q  
  WHERE (Q._Row / 10) = 0
  FOR XML AUTO

  --SAVE THAT XML somewhere

  set @I = @I + 1
END

【讨论】:

  • 正是我想做的,出色的工作。谢谢。现在我只需要将它保存到文件中
猜你喜欢
  • 2011-01-24
  • 2011-04-21
  • 1970-01-01
  • 2012-06-21
  • 1970-01-01
  • 2013-09-01
  • 2010-09-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多