sql >> データベース >  >> RDS >> Sqlserver

一時テーブルのメタデータをフェッチしたくないSSISパッケージ

    WITH RESULT SETSを使用する メタデータを明示的に定義すると、SSISはsp_describe_first_result_setをスキップできます。 ステップして、定義したメタデータを使用します。利点は、これを使用して、一時テーブルを含むSQLをSSISに実行させることができることです(私にとって、そのパフォーマンスは大いに役立ちました)。欠点は、何かが変更された場合、これを手動で保守および更新する必要があることです。

    クエリサンプル(ストアドプロシージャ:)

        EXEC ('dbo.MyStoredProcedure')
        WITH RESULT SETS
          (
            (
                MyIntegerColumn INT NOT NULL,
                MyTextColumn VARCHAR(50) NULL,
                MyOtherColumn BIT NULL
            )
          )
    

    クエリサンプル(単純なSQL :)

    EXEC ('
        CREATE TABLE #a 
          (
            MyIntegerColumn INT NOT NULL,
            MyTextColumn VARCHAR(50) NULL,
            MyOtherColumn BIT NULL
          ) 
        INSERT INTO #a 
          (
            MyIntegerColumn,
            MyTextColumn,
            MyOtherColumn
          )
        SELECT 
            1 AS MyIntegerColumn,
            ''x'' AS MyTextColumn,
            0 AS MyOtherColumn
    
        SELECT MyIntegerColumn, MyTextColumn, MyOtherColumn
        FROM #a')
    
    WITH RESULT SETS
        (
            (
                MyIntegerColumn INT NOT NULL
               ,MyTextColumn VARCHAR(50) NULL
               ,MyOtherColumn BIT NULL
            )
        )
    


    1. テーブルと変更ログをPostgreSQLのビューにマージします

    2. SQL ServerでMSDTCを有効にするにはどうすればよいですか?

    3. LIKE'string' vs ='string'を使用した場合のOracleのパフォーマンスへの影響はありますか?

    4. SpringのOracleデータソース構成