sys.sp_cdc_generate_wrapper_function (Transact-SQL)

適用於:SQL Server

產生腳本,為 SQL Server 中可用的異動數據擷取查詢函式建立包裝函式。 所產生包裝函式中支援的 API 可讓您將查詢間隔指定為日期時間間隔。 此規格讓函式適用於許多倉儲應用程式,包括使用異動數據擷取技術來判斷累加式負載的Integration Services 封裝設計工具所開發的應用程式。

如需 所 sys.sp_cdc_generate_wrapper_function產生函式的詳細資訊,請參閱 sys.fn_all_changes_<capture_instance> (Transact-SQL)sys.fn_net_changes_<capture_instance> (Transact-SQL)

Transact-SQL 語法慣例

語法

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

引數

[ @capture_instance = ] 'capture_instance'

針對 @capture_instance 產生腳本的擷取實例是 sysname,且預設值為 NULL。 如果省略值或明確設定為 NULL,則會為所有擷取實例產生包裝函式腳本。

[ @closed_high_end_point = ] high_end_pt_flag

旗標位,指出產生的程式是否在擷取間隔中包含與高端點相等的認可時間變更。 @closed_high_end_point為 bit,且預設值1為 ,表示應包含端點。 的值 0 表示所有認可時間都嚴格小於高端點。

[ @column_list = ] N'column_list'

包裝函式所傳回的結果集中所包含的擷取數據行清單。 @column_list為 nvarchar(max),且預設值為 NULL。 指定 NULL 時,會包含所有擷取的數據行。

[ @update_flag_list = ] N'update_flag_list'

包裝函式所傳回之結果集中包含更新旗標的內含數據行清單。 @update_flag_list為 nvarchar(max),且預設值為 NULL。 指定 NULL 時,不會包含任何更新旗標。

傳回碼值

0 (成功)或 1 (失敗)。

結果集

資料行名稱 欄類型 描述
function_name nvarchar(145) 產生的函式名稱。
create_script nvarchar(max) 建立擷取實例包裝函式的腳本。

備註

一律會產生建立函式以包裝擷取實例之所有變更查詢的腳本。 如果擷取實例支援 net-changes 查詢,則也會產生此查詢產生包裝函式的腳本。

範例

下列範例示範如何使用 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;