Übergabe von Variablen als Parameter in der Aufgabe „SQL ausführen“ in SSIS
Bei der Ausführung dynamischer SQL-Vorgänge ist häufig die Übergabe von Variablen als Parameter erforderlich, um Abfragen vielseitiger zu gestalten. In einem SSIS-Paket tritt ein solches Szenario auf, wenn Sie externe Werte an eine temporäre Tabellenerstellungsabfrage im Task „SQL ausführen“ übergeben müssen.
Frage:
Überlegen Sie ein SSIS-Paket, bei dem Daten aus einer Flatfile in eine Tabelle eingefügt werden. In diesem Paket wird ein „SQL ausführen“-Task verwendet, um eine temporäre Tabelle namens ##temptable mit bestimmten Spalten zu erstellen. Anschließend werden die Daten anhand bestimmter Filterkriterien in ##temptable eingefügt. Die Anforderung besteht darin, diese Filterkriterien dynamisch mithilfe von Variablen zu übergeben, die im SSIS-Paket erstellt wurden.
Lösung:
Um eine dynamische Parameterübergabe zu erreichen, konfigurieren Sie den Task „SQL ausführen“ wie folgt :
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
Das obige ist der detaillierte Inhalt vonWie übergebe ich SSIS-Variablen als Parameter an eine SQL-Ausführungsaufgabe für dynamisches SQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!