sys.sp_cdc_generate_wrapper_function (Transact-SQL)

Generates scripts to create wrapper functions for the change data capture query functions that are available in SQL Server. The API that is supported in the generated wrappers enables the query interval to be specified as a datetime interval. This makes the function good for use in many warehousing applications, including those that are developed by Integration Services package designers who are using change data capture technology to determine incremental load.

Topic link iconTransact-SQL Syntax Conventions

Syntax

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'

Arguments

  • [ @capture_instance= ] 'capture_instance'
    Is the capture instance that scripts are to be generated for. capture_instance is sysname and has a default value of NULL. If a value is omitted or explicitly set to NULL, wrapper scripts are generated for all capture instances

  • [ @closed_high_end_point= ] high_end_pt_flag
    Is the flag bit that indicates whether changes that have a commit time equal to the high endpoint are to be included within the extraction interval by the generated procedure. high_end_pt_flag is bit and has a default value of 1, which indicates that the endpoint should be included. A value of 0 indicates that all commit times will be strictly less than the high endpoint.

  • [ @column_list= ] 'column_list'
    Is a list of captured columns to be included in the result set that is returned by the wrapper function. column_list is nvarchar(max) and has a default value of NULL. When NULL is specified, all captured columns are included.

  • [ @update_flag_list= ] 'update_flag_list'
    Is a list of included columns for which an update flag is included in the result set that is returned by the wrapper function. update_flag_list is nvarchar(max) and has a default value of NULL. When NULL is specified, no update flags are included.

Return Code Values

0 (success) or 1 (failure)

Result Sets

Column name

Column type

Description

function_name

nvarchar(145)

Name of the generated function.

create_script

nvarchar(max)

Is the script that creates the capture-instance wrapper function.

Remarks

The script that creates the function to wrap the all-changes query for a capture instance is always generated. If the capture instance supports net-changes queries, the script to generate a wrapper for this query is also generatedl.

Examples

The following example show how you can use sys.sp_cdc_generate_wrapper_function to create wrappers for all the change data capture functions.

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;