> 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 iTPro - Publié le 24 juin 2010
email

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 gratuitement cette ressource

Comment aborder la sauvegarde moderne ?

Comment aborder la sauvegarde moderne ?

Au-delà de l’effet de « corvée », souvent soulignée par les administrateurs, la sauvegarde moderne est un nouveau concept qui a le potentiel de transformer toute direction des systèmes d’information, quelle que soit sa taille, et d’apporter des réponses fonctionnelles nouvelles pour rendre le service informatique plus efficace. Découvrez comment aborder la sauvegarde moderne

Tech - Par iTPro - Publié le 24 juin 2010