有人知道如何在将记录插入SQL中的另一个表时混淆数据顺序吗?
实施例:
我有2个表格,Table A
和Table B
,我想将Table A
的记录插入Table B
,我希望在插入{{{}}时将记录混淆{1}}按照表A中的顺序插入。是否可以在SQL中执行此操作?
Table B
插入Table A:
ID Postcode Total
1 3000 10
2 3000 20
3 3000 5
4 3001 10
5 3001 6
6 3002 6
7 3002 9
8 3002 10
9 3003 85
10 3004 1
后(随机混淆的记录):
Table B
答案 0 :(得分:0)
是的,你可以:
INSERT INTO TableB
SELECT *
FROM (SELECT TOP 10 * FROM TableA ORDER BY NEWID()) AS tmp
确保TableB没有群集密钥,否则它将无法运行。将TOP 10
更改为TableA中的行数。
编辑:评论者指出原始版本在SQL Server 2012及更高版本中不起作用。在这种情况下,你需要一个更加沉重的版本(更新)。