Advertisement
Guest User

Untitled

a guest
Dec 18th, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.00 KB | None | 0 0
  1. CREATE PROCEDURE test_insert_delete_2_pk @NR_ROWS INT
  2. AS
  3.  
  4. DECLARE @test_data TABLE
  5. (
  6. [column_a] INT NOT NULL,
  7. [column_b] INT NOT NULL,
  8. [column_c] VARCHAR(50) NULL
  9. primary key(column_a, column_b)
  10. )
  11.  
  12. DECLARE @i INT
  13.  
  14. SET @i=100
  15.  
  16. DECLARE @a INT
  17. DECLARE @b INT
  18. DECLARE @c VARCHAR(50)
  19.  
  20. WHILE (@i <= @NR_ROWS + 100)
  21. BEGIN
  22.  
  23. SET @a = @i
  24. SET @b = @i
  25. SET @c = 'column_c' + CONVERT(VARCHAR(50), @i)
  26.  
  27. INSERT INTO @test_data VALUES
  28. (@a, @b, @c)
  29.  
  30. SET @i = @i + 1
  31.  
  32. END
  33.  
  34. DECLARE @timestartinsert DATETIME
  35. SET @timestartinsert = GETDATE()
  36.  
  37. INSERT INTO dbo.special_table
  38. SELECT * FROM @test_data
  39.  
  40. DECLARE @timeendinsert DATETIME
  41. SET @timeendinsert = GETDATE()
  42.  
  43. INSERT INTO dbo.TestRuns VALUES ('Insertion on special_table', @timestartinsert, @timeendinsert)
  44.  
  45. DECLARE @test_run_id INT
  46. SET @test_run_id = (SELECT TestRunID from dbo.TestRuns WHERE StartAt=@timestartinsert)
  47.  
  48. DECLARE @test_id INT
  49. SET @test_id = (SELECT TestID FROM dbo.Tests WHERE Name = 'insert')
  50.  
  51. DECLARE @table_id INT
  52. SET @table_id = (SELECT TableID FROM dbo.Tables where Name = 'special_table')
  53.  
  54. INSERT INTO dbo.TestTables VALUES(@test_id, @table_id, @NR_ROWS, @test_run_id)
  55.  
  56. WAITFOR DELAY '00:00:01'
  57.  
  58. SET @i = 100
  59.  
  60. DECLARE @timestartdelete DATETIME
  61. SET @timestartdelete = GETDATE()
  62.  
  63. WHILE (@i <= @NR_ROWS + 100)
  64. BEGIN
  65.  
  66. SET @a = @i
  67.  
  68. DELETE FROM dbo.special_table WHERE @a = column_a
  69.  
  70. SET @i = @i + 1
  71.  
  72. END
  73.  
  74. DECLARE @timeenddelete DATETIME
  75. SET @timeenddelete = GETDATE()
  76.  
  77. INSERT INTO dbo.TestRuns VALUES ('Deletion on special_table', @timestartdelete, @timeenddelete)
  78.  
  79. DECLARE @test_run_id_del INT
  80. SET @test_run_id_del = (SELECT TestRunID from dbo.TestRuns WHERE StartAt=@timestartdelete)
  81.  
  82. DECLARE @test_id_del INT
  83. SET @test_id_del = (SELECT TestID FROM dbo.Tests WHERE Name = 'delete')
  84.  
  85. DECLARE @table_id_del INT
  86. SET @table_id_del = (SELECT TableID FROM dbo.Tables where Name = 'special_table')
  87.  
  88. INSERT INTO dbo.TestTables VALUES(@test_id_del, @table_id_del, @NR_ROWS, @test_run_id_del)
  89.  
  90. GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement