【问题标题】:Update Old Value to New Value across many Tables using one Master Table (SQL Server)使用一个主表 (SQL Server) 跨多个表将旧值更新为新值
【发布时间】:2020-12-26 17:18:08
【问题描述】:

我需要使用一个主表更新 SQL Server 中许多表中的错误数据。

  1. 更新源表:SRC_TBL_UPD_CST(CST_OLD_ID,CST_NEW_ID)
  2. 许多表都有客户 ID 列,例如 TBL1(CST_ID、CST_NM、Salary)、TBL2(CUSTOMERID、Gender、Age)...
  3. 我创建了一个表:LIST_TBL_UPDATE,其中包含 2 个列(Table_name、Customer_ID_column)来存储需要更新的相应表名和列名。

...

Table_name |    Customer_ID_column
TBL1       |    CST_ID
TBL2       |    CUSTOMERID

.....

我想创建一个循环来将所有表从 SRC_TBL_UPD_CST.CST_OLD_ID 更新为 SRC_TBL_UPD_CST.CST_NEW_ID。

【问题讨论】:

    标签: sql sql-server-2008 stored-procedures store


    【解决方案1】:

    好的,如果您想使用 SQL 执行此操作,那么您将需要构建一个 SQL 存储过程来为您生成和执行 SQL 语句。如果这能为您开辟新天地,那么我会提倡使用非常简单的 Excel 电子表格来使用更简单、更快、技术含量更低的方法。只需创建(复制/粘贴)前两列中所有表名和列名的列表,并创建一个公式以在第三列中生成您需要的 SQL 语句,如下图所示。然后将您的 SQL 语句复制并粘贴到您正在使用的任何工具的“运行 SQL”窗口中并运行它们。 (注意:这些天我没有使用 SQL Server,所以我不能保证下面显示的 UPDATE 语句的准确性,但我相信你可以根据你的情况调整它)。作为我工作的一部分,我经常创建 SQL 存储过程,但对于这种一次性的临时情况,我经常选择 Excel 来为我构建 SQL。干杯。

    【讨论】:

      猜你喜欢
      • 2014-07-20
      • 2021-10-28
      • 1970-01-01
      • 2023-01-12
      • 2011-02-22
      • 2021-11-12
      • 2020-11-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多