帮助我使用sql脚本生成示例数据

时间:2010-07-12 12:44:14

标签: sql sql-server

我想编写SQL(MS SQL 2005/08)脚本,在数据库中插入随机大量数据,再次测试系统重数据。

现在考虑我为某些列提供了如下数据样本

stats [fail, pending, success, done, successful, partial_done]
date [range preferably two end dates]

现在我可以编写SQL脚本,可以从范围中为这些列选择随机条目,并且可以帮助我创建逼真的随机数据,而不是只重复单个条目吗?

2 个答案:

答案 0 :(得分:2)

如果将样本数据存储在表格中:

INSERT INTO table (COL1, COL2, COL3) VALUES
(SELECT COL1 from sample order by RAND() LIMIT 1),
(SELECT COL2 from sample order by RAND() LIMIT 1),
(SELECT COL3 from sample order by RAND() LIMIT 1)

答案 1 :(得分:2)

这个问题的接受答案看起来有些不合适。

假设关于样本数据的假设是正确的,那么一次插入多于一行并实际在SQL Server中工作的方法如下。

INSERT INTO table (COL1, COL2, COL3) 
  SELECT TOP 1000 s1.COL1, s2.COL2, s3.COL3
  FROM sample s1, sample s2, sample s3
   ORDER BY NEWID()