Update

在不影響 ID(PK) 的情況下更新表中的所有數據

  • December 9, 2014

我正在使用 SQL Server 2005。

我有一張包含 4846 條客戶記錄的表格。PK 稱為 ID,範圍從記錄 40003 到 79870。例如,此數字用於其他表來保存有關使用者訂單的資訊。在表格中有一個十進製欄位,用於儲存每個使用者有權獲得的信用額度 (CustomerCredit)。

現在,問題是我無法設法在不影響 ID 欄位的情況下更新所有 CustomerCredit 記錄……唯一需要更改的資訊是每個使用者的信用額。

任何線索將不勝感激。

我不完全清楚你從哪裡獲得新CustomerCredit值,但 SQL 更新不應該改變 ID,除非你明確告訴它。

UPDATE [table] SET CustomerCredit = 100.0 WHERE ID = [customer-id-to-update]

或將所有記錄設置為相同的值,只需省略WHERE

UPDATE [table] SET CustomerCredit = 100.0

如果您想用不同的 CustomerCredit 值更新 4846 中的每一個,則必須為每個 ID 發出一個查詢:

更新

$$ table $$SET CustomerCredit =$$ credit-of-customer-with-id-40003 $$其中 ID = 40003

更新$$ table $$SET CustomerCredit =$$ credit-of-customer-with-id-79870 $$其中 ID = 79870

根據您訪問每個客戶的 CustomerCredit 的方式,您可能能夠生成 4846 個查詢…

引用自:https://dba.stackexchange.com/questions/84733