Advertisement
Guest User

Untitled

a guest
Nov 20th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.41 KB | None | 0 0
  1. alter PROCEDURE add_data  
  2. @Dept int,  
  3. @otd int
  4. AS
  5. declare @i int, @j int, @kek int;
  6. declare @FLCount int, @FLBossId int, @FLDepId int;
  7. declare @BossSotrId int;
  8. INSERT INTO emp(id, name, chief, otd,  salary)
  9.     VALUES (1, 'Главный chief', null, null, 100000 );
  10. set @j = 1;
  11. while @j < @otd+1
  12. begin
  13.     INSERT INTO dep(id_otd, name, salary, qty)
  14.     VALUES(@j, 'otd ' + CAST( @j as varchar(3)), 0, 0);
  15.     set @j = @j + 1;
  16. end
  17. set @j = 1;
  18. set @i = 2;
  19. set @kek = @otd;
  20. while @j < @otd+1
  21. begin
  22.     INSERT INTO emp(id, name, chief, otd,  salary)
  23.     VALUES (@i, 'chief ' + CAST( @i AS varchar(3)), 1, @j, 40000 );
  24.     set @i = @i + 1;
  25.     set @j = @j + 1;
  26. end
  27. set @kek = @i + 1;
  28. set @FLDepId = 1;
  29. set @FLBossId = 2;
  30. while @kek < @Dept
  31. begin
  32.     INSERT INTO emp(id, name, chief, otd,  salary)
  33.     VALUES(@kek, 'emp ' + CAST( @kek AS varchar(3)), @FLBossId, @FLDepId, 10000);
  34.     set @FLCount = 4
  35.     set @BossSotrId = @kek;
  36.     set @kek = @kek + 1;
  37.     while @FLCount > 0
  38.     begin
  39.         INSERT INTO emp(id, name, chief, otd,  salary)
  40.         VALUES(@kek, 'Интерн Леха' + CAST( @kek AS varchar(3)), @BossSotrId , @FLDepId, 5000);
  41.         set @kek = @kek + 1;
  42.         set @FLCount -= 1;
  43.     end
  44.     set @FLBossId += 1;
  45.     set @FLDepId += 1;
  46.     if (@FLDepId = 11) set @FLDepId = 1
  47.     if (@FLBossId = 12) set @FLBossId = 2
  48. end
  49.  
  50. exec add_data  @otd = 10, @Dept = 3000
  51.  
  52. select * from emp
  53. select * from dep
  54.  
  55. delete from emp
  56. delete  from dep
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement