I am doing some performance tests on SQL sproc and just want to release a quick data generator for testing.
I get an easy way to generate a pseudo-random (true random, not required in this case) varchar field.
The ideas I have so far have a definition of the characters of real characters that can be used, and then build a string from this definition and use a pseudo-random length to change the length with a given maximum length / min.
Edit:
My test data generator:
DECLARE @MyDataTable TABLE ( RecID int IDENTITY(1,1) PRIMARY KEY, SomeText varchar(255) ) DECLARE @RecId int, @SomeText varchar(255), @maxlength int, @minlength int, @RecordCount int, @Counter int SET @maxlength = 254 SET @minlength = 50 SET @RecordCount = 500000 SET @Counter = 1 WHILE (@Counter < @RecordCount) BEGIN INSERT INTO @MyDataTable ( SomeText ) SELECT TOP 1 ( select top (abs(checksum(newid())) % (@ maxlength-@minlength ) + @minlength) char(abs(checksum(newid())) % 26 + ascii('A')) from sys.all_objects a1 where sign(a1.object_id) = sign(t.object_id) for xml path('') ) as NewRandomString FROM sys.all_objects t; SET @Counter = @Counter + 1 END
source share