Advertisement
Guest User

Untitled

a guest
Jun 1st, 2018
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.98 KB | None | 0 0
  1. CREATE TABLE my_table1 (
  2.     field1 VARCHAR(256) NOT NULL,
  3.     field2 VARCHAR(256) NOT NULL,
  4.     field3 VARCHAR(256) NOT NULL
  5. );
  6. CREATE INDEX idx_field1 ON my_table1(field1);
  7.  
  8. GO
  9.  
  10. CREATE PROCEDURE insertToTable1
  11.     @field1 VARCHAR(256), @field2 varchar(256), @field3 varchar(256)
  12. AS
  13. BEGIN
  14.     SET NOCOUNT ON
  15.  
  16.     IF NOT EXISTS (SELECT * FROM my_table1 WHERE field1 = @field1)
  17.       INSERT INTO my_table1
  18.         (field1, field2, field3)
  19.       VALUES (@field1, @field2, @field3);
  20.     ELSE
  21.       THROW 50000, 'xxxxxx', 1;
  22.     END
  23. GO
  24.  
  25. CREATE TABLE my_table2 (
  26.     field1 VARCHAR(256) NOT NULL,
  27.     field2 VARCHAR(256) NOT NULL,
  28.     field3 VARCHAR(256) NOT NULL
  29. );
  30. CREATE UNIQUE INDEX idx_field1 ON my_table2(field1);
  31.  
  32.  
  33. GO
  34.  
  35. CREATE PROCEDURE insertToTable2
  36.     @field1 VARCHAR(256), @field2 varchar(256), @field3 varchar(256)
  37. AS
  38. BEGIN
  39.     SET NOCOUNT ON
  40.       INSERT INTO my_table2
  41.         (field1, field2, field3)
  42.       VALUES (@field1, @field2, @field3);
  43.     END
  44. GO
  45.  
  46. SET NOCOUNT ON
  47.  
  48. PRINT 'Testing non unique'
  49. PRINT SYSUTCDATETIME()
  50. DECLARE @I INT = 0
  51. WHILE @I < 1000000
  52. BEGIN
  53. DECLARE @field1 VARCHAR(256) = CONVERT(CHAR(32), CRYPT_GEN_RANDOM(16),2),
  54.         @field2 varchar(256) = CONVERT(CHAR(130), CRYPT_GEN_RANDOM(65),2),
  55.         @field3 varchar(256) = CONVERT(CHAR(64), CRYPT_GEN_RANDOM(32),2)
  56.  
  57. EXEC insertToTable1 @field1, @field2, @field3
  58.  
  59. IF @I % 100000 = 0
  60.     PRINT SYSUTCDATETIME()
  61.  
  62. SET @I = @I + 1;
  63. END
  64. PRINT SYSUTCDATETIME()
  65.  
  66.  
  67.  
  68. --DATAFILE AND LOGFILE presized to 4GB
  69.  
  70.  
  71.  
  72. go
  73.  
  74. PRINT 'Testing unique'
  75. PRINT SYSUTCDATETIME()
  76. SET NOCOUNT ON
  77.  
  78. DECLARE @I INT = 0
  79. WHILE @I < 1000000
  80. BEGIN
  81. DECLARE @field1 VARCHAR(256) = CONVERT(CHAR(32), CRYPT_GEN_RANDOM(16),2),
  82.         @field2 varchar(256) = CONVERT(CHAR(130), CRYPT_GEN_RANDOM(65),2),
  83.         @field3 varchar(256) = CONVERT(CHAR(64), CRYPT_GEN_RANDOM(32),2)
  84.  
  85. EXEC insertToTable2 @field1, @field2, @field3
  86.  
  87. IF @I % 100000 = 0
  88.     PRINT SYSUTCDATETIME()
  89.  
  90. SET @I = @I + 1;
  91. END
  92. PRINT SYSUTCDATETIME()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement