Un curseur est une structure de programmation de base de données SQL que la plupart des programmeurs de bases de données essaient d'éviter autant que possible. Une base de données SQL est conçu pour traiter des groupes d'enregistrements , ou "séries ", mais un curseur est conçu pour gérer uniquement un seul enregistrement à la fois --- et ils peuvent aussi bloquer tous les autres programmes sur les tables qu'ils référence jusqu'à ce qu'ils soient finalement fait. Remplacement de curseurs avec différentes structures est presque toujours une bonne pratique de programmation SQL. Émuler un curseur avec une boucle While une boucle while ressemble à une structure curseur, mais ne porte pas les mêmes sanctions de verrouillage. Par conséquent , il peut prendre presque aussi long à traiter, mais il ne se bloque pas d'autres programmes sur les tables qu'il utilise Un exemple d'une structure de Bien : . While condition (le programme boucle tant que la condition est vraie ) Début code (ce code s'exécute une fois à chaque passage dans la boucle While ) Fin définir une fonction SQL a des fonctions définies par l'utilisateur . Plutôt que de rassembler l'ensemble des résultats et de les analyser une par une avec un curseur , la fonction définie par l'utilisateur peut être utilisé dans le cadre de l'instruction Select . Pour passer d'une fonction définie par l'utilisateur dans un Select requête , utilisez la structure suivante: Sélectionnez prénom, nom , dbo.user_function ( account_balance ) comme AverageBalance créer une expression table commune Pensez à une expression de table commune comme une table temporaire gonflée . Vous pouvez créer une expression de table commune en utilisant une variété de requêtes standard et ensuite travailler avec eux comme s'ils étaient des tables SQL standard La structure d'une expression de table commune est: . My_CTE ( Photos requêtes de sélection standard vont ici ) ; my_CTE a été défini, d'autres questions peuvent référencer comme si c'était un tableau . Photos Ajouter une colonne d'identité une des raisons les plus courantes d'utiliser un curseur est de faire défiler une table qui ne possède pas une colonne d'identité --- qui est, un identificateur unique pour chaque ligne de la table . Sans cet identifiant , il est très difficile de travailler avec les données des requêtes de sélection standard. Modification de la table pour ajouter une colonne de clé primaire résout ce problème et devrait éliminer la nécessité d' un curseur pour examiner chaque dossier individuel .
|