次の方法で共有


sys.sp_cdc_generate_wrapper_function (Transact-SQL)

SQL Server で使用可能な変更データ キャプチャのクエリ関数に必要なラッパー関数を作成するためのスクリプトを生成します。生成されたラッパーでサポートされる API を使用すると、クエリ範囲を日時間隔として指定できます。これによって関数は多くのウェアハウジング アプリケーション (変更データ キャプチャ テクノロジを使用して増分読み込みを確認している Integration Services パッケージ デザイナが開発したアプリケーションなど) で使用しやすくなります。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

sys.sp_cdc_generate_wrapper_function
    [ [ @capture_instance sysname = ] 'capture_instance'
    [ , [ @closed_high_end_point = ] closed_high_end_pt
    [ , [ @column_list = ] 'column_list'
    [ , [ @update_flag_list = ] 'update_flag_list'

引数

  • [ @capture_instance = ] 'capture_instance'
    スクリプトが生成されるキャプチャ インスタンスです。capture_instance のデータ型は sysname で、既定値は NULL です。値を省略するか、明示的に NULL に設定すると、すべてのキャプチャ インスタンスに対してラッパー スクリプトが作成されます。

  • [ @closed_high_end_point = ] high_end_pt_flag
    コミット時間が上端と等しい変更を、生成されたプロシージャによって抽出範囲内に含めるかどうかを示すフラグ ビットです。high_end_pt_flag のデータ型は bit で、既定値は、上端を含めることを示す 1 です。値に 0 を指定すると、すべてのコミット時間は上端よりも厳密に短くなります。

  • [ @column_list = ] 'column_list'
    ラッパー関数から返される結果セットに含めるキャプチャ対象列の一覧です。column_list のデータ型は nvarchar(max) で、既定値は NULL です。NULL が指定されている場合、キャプチャされたすべての列が含まれます。

  • [ @update_flag_list = ] 'update_flag_list'
    ラッパー関数から返される結果セットに更新フラグが含まれる付加列の一覧です。update_flag_list のデータ型は nvarchar(max) で、既定値は NULL です。NULL が指定されている場合、更新フラグは含まれません。

リターン コードの値

0 (成功) または 1 (失敗)

結果セット

列名

列の型

説明

function_name

nvarchar(145)

生成された関数の名前です。

create_script

nvarchar(max)

キャプチャ インスタンスのラッパー関数を作成するスクリプトです。

説明

キャプチャ インスタンスのすべての変更クエリをラップする関数を作成するスクリプトが常に生成されます。キャプチャ インスタンスが差分変更クエリをサポートする場合、このクエリのラッパーを生成するスクリプトも生成されます。

次の例では、sys.sp_cdc_generate_wrapper_function を使用して、すべての変更データ キャプチャ関数に対してラッパーを作成します。

DECLARE @wrapper_functions TABLE (
    function_name sysname,
    create_script nvarchar(max));

INSERT INTO @wrapper_functions
EXEC sys.sp_cdc_generate_wrapper_function;

DECLARE @create_script nvarchar(max);
DECLARE #hfunctions CURSOR LOCAL fast_forward
FOR 
    SELECT create_script FROM @wrapper_functions;

OPEN #hfunctions;
FETCH #hfunctions INTO @create_script;
WHILE (@@fetch_status <> -1)
BEGIN
    EXEC sp_executesql @create_script
    FETCH #hfunctions INTO @create_script
END;

CLOSE #hfunctions;
DEALLOCATE #hfunctions;