sp_fulltext_column (Transact-SQL)

Spécifie si une colonne particulière d'une table est utilisée dans l'indexation en texte intégral.

Important

Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité. Utilisez plutôt ALTER FULLTEXT INDEX.

Icône Lien de rubriqueConventions de la syntaxe Transact-SQL

Syntaxe

sp_fulltext_column [ @tabname= ] 'qualified_table_name' , 
     [ @colname= ] 'column_name' , 
     [ @action= ] 'action' 
     [ , [ @language= ] 'language_term' ] 
     [ , [ @type_colname= ] 'type_column_name' ]

Arguments

  • [ @tabname= ] 'qualified_table_name'
    Nom de table en une ou deux parties. La table doit déjà exister dans la base de données actuelle. Cette table doit posséder un index de texte intégral. L'argument qualified_table_name est de type nvarchar(517), sans valeur par défaut.

  • [ @colname= ] 'column_name'
    Nom d'une colonne dans qualified_table_name. Elle doit être de type caractère, varbinary(max) ou image et ne pas être calculée. L'argument column_name est de type sysname, sans valeur par défaut.

    Notes

    SQL Server peut créer des index de texte intégral de données texte stockées dans des colonnes de type de données varbinary(max) ou image. Les images et les dessins ne sont pas indexés.

  • [ @action= ] 'action'
    Action à exécuter. L'argument action est de type varchar(20), il n'a pas de valeur par défaut et peut prendre l'une des valeurs suivantes.

    Valeur

    Description

    add

    Ajoute column_name de qualified_table_name à l'index de recherche en texte intégral inactif de la table. Cette action permet d'appliquer à la colonne une indexation de texte intégral.

    drop

    Supprime la colonne column_name de la table qualified_table_name de l'index de texte intégral inactif de la table.

  • [ @language= ] 'language_term'
    Langue des données stockées dans la colonne. Pour obtenir un récapitulatif des langues incluses dans SQL Server, consultez sys.fulltext_languages (Transact-SQL).

    Notes

    Utilisez l'analyse indépendante lorsqu'une colonne contient des données dans plusieurs langues ou dans une langue non prise en charge. La langue par défaut est spécifiée par l'option de configuration « Default Full-Text Language ».

  • [ @type_colname = ] 'type_column_name'
    Nom d'une colonne de qualified_table_name contenant le type de document de column_name. Cette colonne doit être de type char, nchar, varchar ou nvarchar. Elle est utilisée uniquement lorsque le type de données de column_name est de typevarbinary(max) ou image. type_column_name est de type sysname, sans valeur par défaut.

Valeurs des codes de retour

0 (succès) ou 1 (échec)

Jeux de résultats

Aucun

Notes

Si l'index de texte intégral est actif, tout remplissage en cours est arrêté. De plus, si le suivi des modifications est activé pour une table détenant un index de texte intégral actif, SQL Server garantit la validité de l'index. Par exemple, SQL Server arrête tout remplissage en cours sur la table, supprime l'index existant et démarre un nouveau remplissage.

Si le suivi des modifications est activé et que des colonnes doivent être ajoutées ou supprimées de l'index de texte intégral tout en préservant l'index, la table doit être désactivée puis les colonnes requises doivent être ajoutées ou supprimées. Ces actions gèlent l'index. La table peut être activée ultérieurement lorsque le démarrage d'un remplissage s'avère pratique.

Autorisations

L'utilisateur doit être propriétaire de la table ou membre des rôles de base de données fixe db_ddladmin ou db_owner.

Exemples

L'exemple ci-dessous illustre l'ajout de la colonne DocumentSummary de la table Document à l'index de texte intégral de la table.

USE AdventureWorks2008R2;
GO
EXEC sp_fulltext_column 'Production.Document', DocumentSummary, 'add';
GO

L'exemple ci-dessous suppose la création préalable d'un index de texte intégral sur la table nommée spanishTbl. Pour ajouter la colonne spanishCol à l'index de texte intégral, exécutez la procédure stockée suivante :

EXEC sp_fulltext_column 'spanishTbl', 'spanishCol', 'add', 0xC0A;
GO

Lorsque vous exécutez cette requête :

SELECT * 
FROM spanishTbl 
WHERE CONTAINS(spanishCol, 'formsof(inflectional, trabajar)')

Le jeu de résultats comprend des lignes avec différentes formes de trabajar (travailler), telles que trabajo, trabajamos et trabajan.

Notes

Toutes les colonnes répertoriées dans une même clause de fonction de requête de texte intégral doivent utiliser la même langue.