Làm tất cả trong một câu lệnh mà không có vòng lặp sẽ là cách hiệu quả nhất.
INSERT INTO [lotto].[dbo].[CustomerSelections]
([draw_date]
,[val1]
,[val2]
,[val3]
,[val4]
,[val5]
,[val6])
SELECT TOP (100000 )
'2013-07-05',
1 + ABS(CRYPT_GEN_RANDOM(8) % 49),
1 + ABS(CRYPT_GEN_RANDOM(8) % 49),
1 + ABS(CRYPT_GEN_RANDOM(8) % 49),
1 + ABS(CRYPT_GEN_RANDOM(8) % 49),
1 + ABS(CRYPT_GEN_RANDOM(8) % 49),
1 + ABS(CRYPT_GEN_RANDOM(8) % 49)
FROM master..spt_values v1,
master..spt_values v2