Passer des variables en tant que paramètres dans la tâche d'exécution SQL dans SSIS
L'exécution d'opérations SQL dynamiques nécessite souvent de transmettre des variables en tant que paramètres pour rendre les requêtes plus polyvalentes. Dans un package SSIS, vous rencontrez un tel scénario lorsque vous devez transmettre des valeurs externes à une requête de création de table temporaire dans la tâche d'exécution SQL.
Question :
Considérez un package SSIS dans lequel les données d'un fichier plat sont insérées dans une table. Dans ce package, une tâche d'exécution SQL est utilisée pour créer une table temporaire appelée ##temptable avec des colonnes spécifiques. Ensuite, les données sont insérées dans ##temptable en fonction de certains critères de filtre. L'exigence est de transmettre ces critères de filtre de manière dynamique à l'aide de variables créées dans le package SSIS.
Solution :
Pour obtenir une transmission dynamique des paramètres, configurez la tâche d'exécution SQL comme suit :
CREATE PROCEDURE [dbo].[usp_temptable] ( @date DATETIME, @portfolioId INT, @stype NVARCHAR(50) ) AS BEGIN INSERT INTO [tempdb].dbo.##temptable (date, companyname, price, PortfolioId, stype) SELECT date, companyname, price, PortfolioId, stype FROM ProgressNAV WHERE (Date = @date) AND (PortfolioId = @portfolioId) AND (stype in (@stype)) ORDER BY CompanyName END
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!