Advertisement
Guest User

Untitled

a guest
Apr 24th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.26 KB | None | 0 0
  1. create trigger meow on [M_KB].[WUD\Karachev1].[Книги]
  2. instead of insert
  3. as
  4. begin
  5. declare cur cursor for (select * from inserted);
  6. open cur;
  7. declare @idRed int;
  8. declare @date date;
  9. declare @idCont int;
  10. declare @dateCont date;
  11. declare @man int;
  12. declare @name varchar(50);
  13. declare @cost money;
  14. declare @some money;
  15. declare @autcost money;
  16. declare @tir int;
  17. declare @osttir int;
  18.  
  19. declare @temp int;
  20. declare @count int;
  21. fetch next from cur into @idCont, @dateCont, @man, @name, @cost, @some, @autcost,@date, @tir, @idRed,@osttir ;
  22.  
  23. while @@FETCH_STATUS = 0
  24. begin
  25. if (DATEDIFF(day,GetDate(),@date)>0)
  26. begin
  27. select @count = meow from(
  28. select [Ответственный редактор], Count(*) as meow from [M_KB].[WUD\Karachev1].[Книги]
  29. where DATEDIFF(day,GetDate(),[Дата выхода])>0
  30. group by [Ответственный редактор]) as a
  31. where [Ответственный редактор]=@idRed;
  32. if(@count = 5)
  33. begin
  34. if(exists( select [Ответственный редактор], Count(*) as meow from [M_KB].[WUD\Karachev1].[Книги]
  35. where DATEDIFF(day,GetDate(),[Дата выхода])>0
  36. group by [Ответственный редактор]
  37. Having Count(*) >5))
  38.  
  39. begin
  40. select top 1 @temp = [Ответственный редактор] from(
  41. select [Ответственный редактор], Count(*) as meow from [M_KB].[WUD\Karachev1].[Книги]
  42. where DATEDIFF(day,GetDate(),[Дата выхода])>0
  43. group by [Ответственный редактор]
  44. Having Count(*) >5) as b
  45. insert into [M_KB].[WUD\Karachev1].[Книги] values(@idCont, @dateCont, @man, @name, @cost, @some, @autcost,@date, @tir, @temp,@osttir) ;
  46. end
  47. end
  48. else
  49. begin
  50. insert into [M_KB].[WUD\Karachev1].[Книги] values(@idCont, @dateCont, @man, @name, @cost, @some, @autcost,@date, @tir, @idRed,@osttir) ;
  51. end
  52.  
  53. end
  54. else
  55. begin
  56. insert into [M_KB].[WUD\Karachev1].[Книги] values(@idCont, @dateCont, @man, @name, @cost, @some, @autcost,@date, @tir, @idRed,@osttir) ;
  57. end
  58. fetch next from cur into @idCont, @dateCont, @man, @name, @cost, @some, @autcost,@date, @tir, @idRed,@osttir ;
  59. end
  60.  
  61. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement