Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment boucler sur le résultat (objet system.Data.DataSet) de SQL exécuté à partir de PowerShell

Il y a beaucoup de problèmes ici. Vous construisez des chaînes SQL. Ne faites pas ça ! Utilisez plutôt des paramètres SQL ! Vous répétez inutilement beaucoup de code. Vous utilisez des tables de données, ce que j'éviterais, du moins en powershell. Vous ne réutilisez pas la connexion à la base de données.

Essayez toujours d'éviter les boucles avec une requête à l'intérieur lorsque vous travaillez avec SQL. Essayez de penser si vous pouvez réécrire le SQL à la place.

Essayez ce SQL :

SELECT 
col2,
COUNT(<thePrimaryKeyColumnOfTheTable>)
FROM [master].[sys].[table_name]
GROUP BY col2

Cela devrait vous donner le nombre de toutes les différentes valeurs de col2.