删除已知订单号的重复景点.sql 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. --删除完全重复的dindanjd表记录,已知订单号的情况下;
  2. use db
  3. declare @order nvarchar(50)
  4. declare @scenery nvarchar(50)
  5. declare @autoid int
  6. declare @count int
  7. set @order = '20150118-001'
  8. set @scenery = '内景'
  9. select @count = count(*) from dindanjd where id = @order and name = @scenery
  10. if (@count > 0 )
  11. begin
  12. --将指定的订单号记录插入到dindanjd_cc表里;
  13. select identity(int,1,1) as atid,* into dindanjd_cc from dindanjd where id = @order and name = @scenery
  14. --删除dindanjd表里的订单;
  15. delete from dindanjd where id = @order and name = @scenery
  16. select @autoid = min(atid) from dindanjd_cc
  17. --重装取回一条记录插入到dindanjd表中;
  18. insert into dindanjd ([id]
  19. ,[name]
  20. ,[date]
  21. ,[time]
  22. ,[waiter1]
  23. ,[waiter2]
  24. ,[status]
  25. ,[waiter12]
  26. ,[waiter22]
  27. ,[bookingdate]
  28. ,[dress]
  29. ,[bz]
  30. ,[clerk]
  31. ,[inputtime]
  32. ,[branch])
  33. select [id]
  34. ,[name]
  35. ,[date]
  36. ,[time]
  37. ,[waiter1]
  38. ,[waiter2]
  39. ,[status]
  40. ,[waiter12]
  41. ,[waiter22]
  42. ,[bookingdate]
  43. ,[dress]
  44. ,[bz]
  45. ,[clerk]
  46. ,[inputtime]
  47. ,[branch]
  48. from dindanjd_cc where atid = @autoid
  49. --删除临时表;
  50. drop table dindanjd_cc
  51. end