删除2014开头的订单编号的全部信息.sql 1.3 KB

123456789101112131415161718192021222324252627282930
  1. USE [db]
  2. -- 定义变量;
  3. DECLARE @COUNT INT -- 数量;
  4. DECLARE @OrderId NVARCHAR(80) -- 订单号;
  5. -- 查询出所有订单的电话,并插入到临时表中;
  6. SELECT IDENTITY(INT,1,1) AS AutoId, id INTO #temp_dindan FROM [dbo].[dindan] WHERE id like '2014%'
  7. -- 获取临时表最大ID;
  8. SELECT @COUNT = MAX(AutoId) FROM #temp_dindan
  9. -- 循环将dindan表里的订单电话更新到client对应的订单记录中;
  10. WHILE @COUNT > 0
  11. BEGIN
  12. SELECT @OrderId = id FROM #temp_dindan WHERE AutoId = @COUNT
  13. DELETE FROM [dbo].[client] WHERE id = @OrderId -- 订单顾客表;
  14. DELETE FROM [dbo].[dindan] WHERE id = @OrderId -- 订单表;
  15. DELETE FROM [dbo].[dindansp] WHERE id = @OrderId -- 订单商品表;
  16. DELETE FROM [dbo].[dindansp2] WHERE id = @OrderId -- 订单商品表;
  17. DELETE FROM [dbo].[dindansp3] WHERE id = @OrderId -- 订单商品表;
  18. DELETE FROM [dbo].[dindanbukuan] WHERE id = @OrderId -- 订单补款表;
  19. DELETE FROM [dbo].[dindanbukuan2] WHERE id = @OrderId -- 订单补款表;
  20. DELETE FROM [dbo].[burncdreg] WHERE id = @OrderId -- 订单刻录表;
  21. DELETE FROM [dbo].[digitalwork] WHERE id = @OrderId -- 订单数码安排表;
  22. DELETE FROM [dbo].[mywork] WHERE id = @OrderId -- 我的订单工作表;
  23. DELETE FROM [dbo].[digitalwork] WHERE id = @OrderId -- 订单冲印表;
  24. SET @COUNT = @COUNT -1
  25. END
  26. -- 最后,清除临时表;
  27. DROP TABLE #temp_dindan