SSIS の SQL 実行タスクで変数をパラメーターとして渡す
動的 SQL 操作を実行すると、クエリの汎用性を高めるために変数をパラメーターとして渡すことが必要になることがよくあります。 SSIS パッケージでは、SQL 実行タスクで一時テーブル作成クエリに外部値を渡す必要があるときに、このようなシナリオが発生します。
質問:
検討してください。フラット ファイルのデータがテーブルに挿入される SSIS パッケージ。このパッケージ内では、SQL 実行タスクを利用して、特定の列を含む ##temptable という一時テーブルを作成します。これに続いて、特定のフィルター基準に基づいてデータが ##temptable に挿入されます。要件は、SSIS パッケージ内で作成された変数を使用してこれらのフィルター基準を動的に渡すことです。
解決策:
動的パラメーターの受け渡しを実現するには、次のように SQL 実行タスクを構成します。 :
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
以上がSSIS 変数をパラメータとして動的 SQL の SQL 実行タスクに渡す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。