将dindan表电话更新到client表.sql 695 B

12345678910111213141516171819202122
  1. USE [db]
  2. -- 定义变量;
  3. DECLARE @COUNT INT -- 数量;
  4. DECLARE @OrderId NVARCHAR(80) -- 订单号;
  5. DECLARE @Phone1 NVARCHAR(80) -- 电话1;
  6. DECLARE @Phone2 NVARCHAR(80) -- 电话2;
  7. -- 查询出所有订单的电话,并插入到临时表中;
  8. SELECT IDENTITY(INT,1,1) AS AutoId, id, phone1, phone2 INTO #temp_dindan FROM dindan
  9. -- 获取临时表最大ID;
  10. SELECT @COUNT = MAX(AutoId) FROM #temp_dindan
  11. -- 循环将dindan表里的订单电话更新到client对应的订单记录中;
  12. WHILE @COUNT > 0
  13. BEGIN
  14. SELECT @OrderId = id , @Phone1 = phone1, @Phone2 = phone2 FROM #temp_dindan WHERE AutoId = @COUNT
  15. UPDATE client SET phone1 = @Phone1, phone2 = @Phone2 WHERE id = @OrderId
  16. SET @COUNT = @COUNT -1
  17. END
  18. -- 最后,清除临时表;
  19. DROP TABLE #temp_dindan