Transact-SQL 参考

sp_fulltext_column

指定表的某个特定列是否参与全文索引。

语法

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

参数

[@tabname =] 'qualified_table_name'

一段或两段的表名。该表必须已经存在于当前的数据库中。该表必须有全文索引。qualified_table_name 的数据类型为 nvarchar(517),无默认值。

[@colname =] 'column_name'

qualified_table_name 中某个列的名称。该列必须是一个字符,或是一个 image 列,不能是一个已计算列。column_name 的数据类型为 sysname,无默认值。

说明  SQL Server 能够创建 text 数据的全文索引,text 数据存储在具有 image 数据类型的列中。不对图像或图片编制索引。

[@action =] 'action'

将要执行的动作,action 的数据类型为 varchar(20),无默认值,可以是下列值中的一个。

描述
add qualified_table_namecolumn_name 添加到表的非活动全文索引中。该动作启用全文索引的列。
drop 从表的非活动全文索引中删除 qualified_table_namecolumn_name

[@language =] 'language'

存储在列中的数据的语言。下表列出了包括在 SQL Server 中的语言。

说明  当某个列包含使用多种语言的数据或不支持语言的数据时,请使用"中性"设置。由配置选项 default full-text language 指定默认值。

区域设置 区域设置 ID
中性 0
简体中文 0x0804
繁体中文 0x0404
荷兰语 0x0413
英国英语 0x0809
美国英语 0x0409
法语 0x040c
德国 0x0407
意大利 0x0410
日语 0x0411
朝鲜语 0x0412
现代西班牙语 0x0c0a
普通瑞典语 0x041d

[@type_colname =] 'type_column_name'

qualified_table_name 中某个列的名称,该列存放着 column_name 的文档类型。该列必须为 charncharvarcharnvarchar。只有当 column_name 的数据类型为 image 时才使用它。type_column_name 的数据类型为 sysname,无默认值。

返回代码值

0(成功)或 1(失败)

结果集

注释

如果全文索引是活动的,应停止所有正在进行的填充。而且,如果一个带活动全文索引的表启用了更改跟踪,SQL 服务器确保该索引是当前的。例如,SQL Server 停止表中所有当前的填充,除去现有的索引,并启动新填充。

如果打开更改跟踪,并需要在保留索引的同时从全文索引中添加或除去列,应停用该表并添加或除去所需的列。这些动作冻结索引。当可以启动填充时,可以稍后再激活该表。

权限

只有 sysadmin 固定服务器角色成员、db_ownerdb_ddladmin 固定数据库角色成员和对象所有者才能执行 sp_fulltext_column

示例
将一列添加到全文索引
  1. 下面的示例将来自 Categories 表的 Description 列添加到表的全文索引。
    USE Northwind
    EXEC sp_fulltext_column Categories, Description, 'add'
    
  2. 下面的示例假设在 spanishTbl 表上创建一个全文索引。添加 spanishCol 列:
    sp_fulltext_column 'spanishTbl', 'spanishCol', 'add', 0xC0A
    

    运行该查询时:

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

    结果集将包括带有不同形式的 trabajar的行(要使用),如 trabajo、trabajamos 和 trabajan。

    说明  在单个全文查询函数子句中列出的所有列都必须使用相同的语言。

请参见

OBJECTPROPERTY

sp_help_fulltext_columns

sp_help_fulltext_columns_cursor

sp_help_fulltext_tables

sp_help_fulltext_tables_cursor

系统存储过程