[SQL Server] sp_executesql Exemples d'utilisation des requêtes dynamiques

-- =============================================

-- Author:        Zouhaier KHARROUBI

-- Create date:   09/02/2017

-- Description:   Exemples d'utilisation d'un requête dynamique via la commande  sp_executesql

-- =============================================

 

--1- Afficher le résultat d'une requête construite dysnamiquement

EXEC sp_executesql N'SELECT * FROM FACTURES WHERE Num_Fact=@Num_Fact AND Date_Fact=@Date_Fact',N'@Num_Fact VARCAHR(5),@Date_Fact DATE','F0001','20160209'

 

--2- Afficher le retour du variabale construite dans une requête dynamique

DECLARE @Nbre_Lig AS INT

EXECUTE sp_executesql N'SELECT @Nbre_LigOUT=COUNT(*) FROM FACTURES WHERE Date_Fact=@Date_Fact',N'@Date_Fact DATE, @Nbre_LigOUT int OUTPUT','20160209',@Nbre_LigOUT=@Nbre_Lig OUTPUT

SELECT @Nbre_Lig

-- =============================================

-- Author:        Zouhaier KHARROUBI

-- Create date:   09/02/2017

-- Description:   Exemples d'utilisation d'un requête dynamique via la commande  sp_executesql

-- =============================================

 

--1- Afficher le résultat d'une requête construite dysnamiquement

EXEC sp_executesql N'SELECT * FROM FACTURES WHERE Num_Fact=@Num_Fact AND Date_Fact=@Date_Fact',N'@Num_Fact VARCAHR(5),@Date_Fact DATE','F0001','20160209'

 

--2- Afficher le retour du variabale construite dans une requête dynamique

DECLARE @Nbre_Lig AS INT

EXECUTE sp_executesql N'SELECT @Nbre_LigOUT=COUNT(*) FROM FACTURES WHERE Date_Fact=@Date_Fact',N'@Date_Fact DATE, @Nbre_LigOUT int OUTPUT','20160209',@Nbre_LigOUT=@Nbre_Lig OUTPUT

SELECT @Nbre_Lig