Comment sélectionner plus de 1 identifiant unique?

Je voudrais savoir si je peux sélectionner plus de 1 uniqueidentifier dans le SQL server .

Pour sélectionner 1: SELECT NEWID() cela ramène 1 résultat.

Je voudrais rapporter des 50 résultats

MODIFIER:

Je voudrais que les résultats soient returnnés dans une grid, donc je peux les copyr tous en même time. Ne pas copyr et coller 1 par 1.

Essayez-vous de le faire dans SQL Server Management Studio?

Essayer:

 SELECT NEWID() GO 50 

et exécutez ce lot

Mettre à jour:

OK – que diriez-vous alors?

 SELECT NEWID() FROM master..spt_values WHERE name IS NULL AND number < 50 

En supposant que la table master.dbo.sysobjects contient au less 50 objects système:

 SELECT TOP 50 NEWID() FROM master.dbo.sysobjects WHERE xtype = 'S' 

Vous n'avez pas besoin d'une command par, puisque le NEWID est random à chaque fois.

 --run these queries independently CREATE TABLE #temp1 (ID UniqueIdentifier) GO INSERT INTO #temp1 SELECT NewID() AS ID GO 50 SELECT * FROM #temp1 GO DROP TABLE #temp1 GO 
 -- Static solution: only 5 GUID values SELECT NEWID() FROM (VALUES(1), (2), (3), (4), (5)) AS Numbers(Number) -- Dynamic solution DECLARE @Num INT; SET @Num=5; SELECT TOP(@Num) NEWID() FROM sys.objects o; -- Another dynamic solution --SET STATISTICS IO ON; --GO DECLARE @Num INT; SET @Num=567; WITH N10(Number) AS ( SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10 ), N100(Number) AS ( SELECT (a.Number-1)*10+b.Number FROM N10 AS a CROSS JOIN N10 AS b ), N1000(Number) AS ( SELECT (a.Number-1)*100+b.Number FROM N100 AS a CROSS JOIN N100 AS b ) SELECT TOP(@Num) NEWID() AS [GUID] FROM N1000;