sys.sp_cdc_generate_wrapper_function (Transact-SQL)

生成相应的脚本,为 SQL Server 中可用的变更数据捕获查询函数创建包装函数。 所生成的包装函数中支持的 API 允许以 datetime 间隔形式指定查询间隔。这使该函数能够很好地应用于许多仓库应用程序,包括那些使用变更数据捕获技术来确定增量加载的 Integration Services 包设计人员开发的应用程序。

适用范围:SQL Server(SQL Server 2008 到当前版本)。

主题链接图标 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;

请参阅

参考

更改数据捕获存储过程 (Transact-SQL)

概念

变更数据捕获 (SSIS)