当前位置:  开发笔记 > 编程语言 > 正文

将多行更新到SQL表中

如何解决《将多行更新到SQL表中》经验,为你挑选了1个好方法。

假设有一个完全填充的数据字符串String [n] [3] myData.

我想做这个:

for (String[] row : myData)
{
   SQL = "update mytable set col3 = row[2]
   where col1 = row[0] and col2=row[1];" 
}

显然我已经离开了很多,但我想尽可能简洁地表达这个想法.

有一种简单的方法可以在单个DB命令中执行此操作吗?一个不那么简单的方法怎么样?

编辑:数据不是来自另一个表(这是一个Web表单提交 - 多选择考试)
看到该应用程序是面向Web的,它必须是注入证明.参数化查询是我的首选方式.
我正在使用MS-SQL Server 2005

编辑:关闭并重新询问多个数据库更新:

编辑:重新打开,因为这似乎是一个受欢迎的问题



1> Kevin Berrid..:

这取决于您使用的数据库.如果您使用的是SQL Server 2008,则可以使用存储过程TABLE参数.这允许您将所有值传递到单个表中的存储过程中,然后您可以执行以下操作:

update mytable set mytable.col1 = @tbl.col1
  from mytable 
  inner join @tbl on mytable.col2 = @tbl.col2

如果您使用的是SQL Server 2005,则可以使用XML.将值格式化为XML,然后使用XQuery语句(即"nodes"和"value")来解析XML.这也可以在单个SQL语句中完成,并且不需要存储过程.

推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有