Share via


sys.sp_cdc_generate_wrapper_function (Transact-SQL)

S’applique à :SQL Server

Génère des scripts pour créer des fonctions wrapper pour les fonctions de requête de capture de données modifiées disponibles dans SQL Server. L’API prise en charge dans les wrappers générés permet de spécifier l’intervalle de requête comme intervalle de datetime. Cette spécification permet d’utiliser la fonction dans de nombreuses applications d’entreposage, notamment celles développées par les concepteurs de packages Integration Services qui utilisent la technologie de capture de données modifiées pour déterminer la charge incrémentielle.

Pour plus d’informations sur les fonctions générées par sys.sp_cdc_generate_wrapper_function, consultez sys.fn_all_changes_<capture_instance> (Transact-SQL) et sys.fn_net_changes_<capture_instance> (Transact-SQL).

Conventions de la syntaxe Transact-SQL

Syntaxe

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' ]
[ ; ]

Arguments

[ @capture_instance = ] 'capture_instance'

L’instance de capture que les scripts sont générés pour @capture_instance est sysname et a la valeur par défaut NULL. Si une valeur est omise ou définie explicitement sur NULL, les scripts wrapper sont générés pour toutes les instances de capture.

[ @closed_high_end_point = ] high_end_pt_flag

Bit d’indicateur qui indique si les modifications dont le temps de validation est égal au point de terminaison élevé sont inclus dans l’intervalle d’extraction par la procédure générée. @closed_high_end_point est bit et a une valeur par défaut , 1ce qui indique que le point de terminaison doit être inclus. Une valeur indiquant que tous les temps de 0 validation sont strictement inférieurs au point de terminaison élevé.

[ @column_list = ] N’column_list'

Liste des colonnes capturées incluses dans le jeu de résultats retourné par la fonction wrapper. @column_list est nvarchar(max) et a une valeur par défaut null. Lorsque la valeur NULL est spécifiée, toutes les colonnes capturées sont incluses.

[ @update_flag_list = ] N’update_flag_list'

Liste des colonnes incluses pour lesquelles un indicateur de mise à jour est inclus dans le jeu de résultats retourné par la fonction wrapper. @update_flag_list est nvarchar(max) et a une valeur par défaut null. Lorsque la valeur NULL est spécifiée, aucun indicateur de mise à jour n'est inclus.

Valeurs des codes de retour

0 (réussite) ou 1 (échec).

Jeu de résultats

Nom de la colonne Type de colonne Description
function_name nvarchar(145) Nom de la fonction générée.
create_script nvarchar(max) Script qui crée la fonction wrapper d’instance de capture.

Notes

Le script qui crée la fonction permettant d'encapsuler la requête all-changes pour une instance de capture est toujours généré. Si l’instance de capture prend en charge les requêtes net-changes, le script pour générer un wrapper pour cette requête est également généré.

Exemples

L'exemple suivant montre comment utiliser sys.sp_cdc_generate_wrapper_function pour créer des wrappers pour toutes les fonctions de capture de données modifiées.

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;