【发布时间】:2012-11-07 14:54:10
【问题描述】:
我正在为 SQL Server 2008 R2 编写代码。我有两个包含几十个表的数据库。
一个数据库中的每个表都包含另一个数据库中同名的表。
具有相同名称的表具有相同的格式(字段和数据类型)。两个表的内容相似但不相同。我需要根据对另一个所做的更改来更新一个,但仅在某些情况下。我想我想为此使用光标,但我找不到一个很好的例子。
到目前为止,MSDN 示例一次将一个字段读入一个变量。我确实需要能够读取/修改每个表中相同的两列,但我必须相信没有什么比为每个表的每一列声明变量更乏味的了。
我希望喜欢能够获取整行,检查几列,然后在更改两列后决定是否要将整行写入另一个表 -但是我是否必须为要获取/写入的每个字段声明变量?没有办法只获取整行并写入整行吗?
【问题讨论】:
-
SQL Server 没有
10或2010版本——你有2008、2008 R2 和2012——那么它是哪一个?? -
除非您有一些非常复杂的逻辑,否则很可能有一种方法可以在连接中执行您需要的操作,以及在合并语句或基本更新中的位置。您能否详细说明您正在检查的内容?
-
@marc_s:我假设他指的是 2008 (10.0) 或 2008 R2 (10.5)。
-
@marc_s 我认为他指的是服务器版本号,您可以使用
SELECT @@VERSION查看此内容,例如对于 Microsoft SQL Server 2008,这将返回10.0.5512.0 -
啊,抱歉……这是 2008 R2 与 10.50.4000。
标签: sql-server tsql sql-server-2008-r2 cursor