1

我有 10 个表,我想用相同的值更新所有表中的相同字段。更新以一个字段为条件,该字段在一个表中是主键,在其他表中是外键,并且有些表甚至不是键。例如 :

  TABLEX               TABLEY                 TABLEZ         

  FIELD1 (PK)          FIELD1(FK)             FIELD1               
  FIELD3               FIELD3                 FIELD3

我想用相同的 FIELD1 值更新所有表中的 FIELD3。有人告诉我使用存储过程,使用游标和 for 循环来更新表,经过一番调查后,我读到游标不是很省时。我想知道这是否是最好的方法,或者您是否知道更好的方法。我对 sql 相当陌生。

提前谢谢。

4

1 回答 1

2

你真的不需要使用游标循环——一个简单的 SQL UPDATE 语句在所有 10 个表上都可以正常工作。但是,您必须发出 10 个单独的 UPDATE 语句,这是没有办法的。

注意:如果你使用动态 SQL,你最终可能会得到更少的代码,但我强烈建议不要这样做,原因有很多:代码可读性、破坏内置 SQL 对象依赖跟踪、SQL 注入可能性。 .)

于 2013-08-21T07:34:49.920 回答