Comment écrire une procédure stockée dans SQL Server 2008 qui génère 3 millions de numéros aléatoires dans deux colonnes dans le type de données entier.Comment écrire une procédure stockée dans SQL Server 2008 qui génère 3 millions aléatoires non
3
A
Répondre
1
Vous pouvez utiliser un CTE, par exemple:
create procedure dbo.GiveMeRandomNumbers
as
begin
with qry as (
select CAST(CAST(NEWID() AS VARBINARY) AS INT) as col1
, CAST(CAST(NEWID() AS VARBINARY) AS INT) as col2
, 0 as i
union all
select CAST(CAST(NEWID() AS VARBINARY) AS INT) as col1
, CAST(CAST(NEWID() AS VARBINARY) AS INT) as col2
, i + 1
from qry
where i < 3000000
)
select col1, col2
from qry
option (maxrecursion 0)
end
Il utilise newid
parce que la fonction rnd
renverra le même résultat pour chaque application récursive du CTE.
5
SELECT TOP 3000000
ABS(CHECKSUM(NewId())) As RndCol1,
ABS(CHECKSUM(NewId())) AS RndCol2
FROM
sys.objects s1
CROSS JOIN sys.objects s2
CROSS JOIN sys.objects s3
CROSS JOIN sys.objects s4
[Vous pouvez vérifier la distribution réelle de ces chiffres à l'aide d'un test de chi carré]
MISE À JOUR: Le caractère aléatoire de ceux-ci peuvent ne pas satisfaire au critère de la distribution chi-carré. Je conseillerais de tester dans vos circonstances.
Questions connexes
- 1. Procédure stockée SQL Server 2008
- 2. Créer une procédure stockée avec CONTIENT dans SQL Server 2008
- 3. Optimisation de la procédure stockée pour traiter 3 millions d'enregistrements
- 4. Procédure stockée SQL Server
- 5. procédure stockée SQL dans Visual Studio 2008
- 6. Débogage d'une procédure stockée dans SQL Server 2008 Management Studio
- 7. Débogage d'une procédure stockée dans SQL Server 2008
- 8. SQL Server 2008: SELECT * INTO TMP de procédure stockée
- 9. Dynamic SQL Server procédure stockée
- 10. Quand une procédure stockée recompiler? (Sql Server)
- 11. signifie SQL Server procédure stockée
- 12. Comment écrire une procédure stockée postgres qui ne retourne rien?
- 13. SQL Server: récupérer l'ID auto-incrémenté dans une procédure stockée?
- 14. SHA256 dans une procédure stockée T-SQL
- 15. dynamique procédure stockée dans Sql Server 2005
- 16. Procédure stockée dans SQL Server (distinct)?
- 17. je besoin d'aide pour écrire une procédure stockée dans SQL Server 2005
- 18. Problème de procédure stockée SQL Server appelant une autre procédure stockée
- 19. SQL Server - procédure stockée devient soudainement lente
- 20. SQL Server 2008 Express une ligne écrire
- 21. Exportation de XML dans une procédure stockée SQL Server
- 22. Comment transmettre des collections de données dans une procédure stockée T-SQL dans SQL Server 2003
- 23. SQL Server 2005 requête XML procédure stockée
- 24. Comment puis-je mettre en œuvre la fonctionnalité de recherche SQL dans une procédure stockée (Sql Server 2008)
- 25. SQL Server 2005 procédure stockée Dépendances
- 26. Comment déclarer un tableau dans Sql Server Procédure stockée?
- 27. comment écrire une condition if cas dans la procédure stockée
- 28. Ajouter une colonne et mettre à jour dans la même procédure stockée dans SQL Server 2008
- 29. SQL Server - SELECT de la procédure stockée
- 30. code optimize SQL Server procédure stockée
Ceci est beaucoup plus rapide que mon CTE. Mais une jointure triple sur sys.objects obtient 421k lignes sur mon système, mais je suppose que vous pouvez en rejoindre plus au besoin! – Andomar
@Andomar: vraiment? - J'ai 3 millions sur le mien. J'en ajouterai un autre pour faire bonne mesure! –