1. 程式人生 > >SQLServer 迴圈1百萬插入測試資料

SQLServer 迴圈1百萬插入測試資料

1,首先建立student表

create table student
(
sno int ,
sname VARCHAR(200)
)

2,--向資料庫中插入100萬條隨機姓名記錄用於測試(sqlserver2005)

DECLARE @LN VARCHAR(300),@MN VARCHAR(200),@FN VARCHAR(200)
DECLARE @LN_N INT,@MN_N INT,@FN_N INT
SET @LN='李王張劉陳楊黃趙周吳徐孫朱馬胡郭林何高梁鄭羅宋謝唐韓曹許鄧蕭馮曾程蔡彭潘袁於董餘蘇葉呂魏蔣田杜丁沈姜範江傅鍾盧汪戴崔任陸廖姚方金邱夏譚韋賈鄒石熊孟秦閻薛侯雷白龍段郝孔邵史毛常萬顧賴武康賀嚴尹錢施牛洪龔'
SET @MN='德紹宗邦裕傅家積善昌世貽維孝友繼緒定呈祥大正啟仕執必定仲元魁家生先澤遠永盛在人為任伐風樹秀文光謹潭棰'
SET @FN='麗雲峰磊亮巨集紅洪量良樑良糧靚七旗奇琪謀牟弭米密禰磊類蕾肋慶情清青興幸星刑'
SET @LN_N=LEN(@LN)
SET @MN_N=LEN(@MN)
SET @FN_N=LEN(@FN)
DECLARE @TMP VARCHAR(1000),@I INT
SET @I=100
WHILE @I<1000000
BEGIN
    SET @TMP=CAST(SUBSTRING(@LN,CAST(RAND()*@LN_N AS INT),1) AS VARCHAR)
    SET @
[email protected]
+CAST(SUBSTRING(@MN,CAST(RAND()*@MN_N AS INT),1) AS VARCHAR)
    SET @[email protected]+CAST(SUBSTRING(@FN,CAST(RAND()*@FN_N AS INT),1) AS VARCHAR)
    INSERT INTO student(sno,sname)VALUES('2005'[email protected],@TMP)
    SET @[email protected]+1
end