> Tech > VI. Utiliser le plus possible les possibilités du Transact-SQL

VI. Utiliser le plus possible les possibilités du Transact-SQL

Tech - Par Renaud ROSSET - Publié le 24 juin 2010

A titre d’exemple, nous pouvons utiliser une requête récursive pour éviter l’appel coûteux à des curseurs ou plusieurs procédures stockées. Pour créer une requête récursive nous allons utiliser une expression de table commune (CTE, Common Table Expression). Dans cet exemple le but est de sortir la hiérarchie de la société

VI. Utiliser le plus possible les possibilités du Transact-SQL

AdventureWorks (base classique d’exemple de SQL Server)

Declare @EmpID Integer;
Select @EmpID = EmployeeID From HumanResources.Employee Where ManagerID is null;
— declaré une CTE appelée Emp
With Emp ( LoginID, EmployeeID, NomManager, ManagerID, ReportsToManagerID) As (
Select E1.LoginID, E1.EmployeeID, E2.LoginID, E2.EmployeeID,
( Select ManagerID From HumanResources.Employee E3 Where E3.EmployeeID = E2.EmployeeID ) AS ManagerID
From HumanResources.Employee E1
Join Humanresources.Employee E2
On E1.Managerid = E2.Employeeid
And E1.Managerid = @Empid

Union All
Select E1.LoginID, E1.EmployeeID, E2.LoginID, E2.EmployeeID,
( Select ManagerID From HumanResources.Employee E3 Where E3.EmployeeID = E2.EmployeeID ) AS ManagerID >
From HumanResources.Employee E1
Join Emp E2 — Appeler EMP récursivement
On E1.ManagerID = E2.EmployeeID
)
Select Substring (LoginID, Charindex(‘\’,LoginID)+1,len(LoginID)-Charindex(‘\’, LoginID)-1) , EmployeeID,
Substring (NomManager, Charindex(‘\’,NomManager)+1,len(NomManager)-Charindex(‘\’, NomManager)-1), ManagerID, ReportsToManagerID From Emp Order By ReportsToManagerID

L’utilisation de cette requête permet d’utiliser au maximum les possibilités du serveur et de limiter les transferts sur le réseau.

Téléchargez cette ressource

Créer des agents dans Microsoft 365 Copilot

Créer des agents dans Microsoft 365 Copilot

Insight vous guide dans l’utilisation de la nouvelle expérience de création d’agents dans Microsoft Copilot Studio, disponible dans Copilot Chat. Découvrez les étapes clés pour concevoir, configurer et déployer ces nouveaux agents et injecter la puissance de l’IA directement dans le flux de travail.

Les plus consultés sur iTPro.fr

A lire aussi sur le site

À la une de la chaîne Tech