sql-server-2008 - 如何让SQL表变大

标签 sql-server-2008

我有一个包含 100 行的表,其中数据为双倍

a1 a2 a3...
---------
1  2   3
23 55  4
2  3   7

我计划使用UNION ALL 使该表更大

a1 a2 a3...
---------
1  2   3
23 55  4
2  3   7
1  2   3
23 55  4
2  3   7
1  2   3
23 55  4
2  3   7

这是出于测试目的,那么您有什么建议,最有效的方法是什么?

最佳答案

这将以指数方式增加表的大小...首先它会插入 x 条记录,然后是 2x,然后是 4x,然后是 8x...您可以添加 distincttop n如果您只想每次添加相同数量的记录,等等。

DECLARE @count int
DECLARE @max int

SET @count int = 1
SET @max = 10

WHILE @count < @max
BEGIN
   INSERT INTO myTable (a1, a2, a3)
   SELECT a1, a2, a3 FROM myTable
   SET @count = @count + 1
END

顺便说一句 - 不确定您要测试什么,但您可能会在数据集中添加除整数之外的其他内容 - 例如 1.01、.99、55.7、60 等。

编辑

根据您的评论 - 如果您真的想要使用union all然后...

INSERT INTO myTABLE (a1, a2, a3)
SELECT a1, a2, a3 FROM
(
SELECT a1, a2, a3 FROM myTable
UNION ALL
SELECT a1, a2, a3 FROM myTable
UNION ALL
SELECT a1, a2, a3 FROM myTable
...
) a

关于sql-server-2008 - 如何让SQL表变大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7288121/

相关文章:

SQL 连接 : Select status of reviews submitted by employees and also the list of employees who have not submitted the review for each year

sql-server - ZIP 文件在 SSIS 中不起作用(服务器级别问题?)

mysql - SQL:从两列中选择值并显示为一列

sql - CRYPT_GEN_RANDOM 奇怪的效果

sql-server-2008 - 对 SQL Server 中的名称字段进行部分匹配

mysql - SQL选择所有匹配的

java - 无法在 Eclipse IDE 中使用 java 建立与 SQL Server 2008 的数据库连接

java - 带有 Sql Server 的 Jsf 项目 - Windows 身份验证

mysql - SQL-Mysql 长度不同

sql - 从子查询中选择两次