ALTER FULLTEXT STOPLIST (Transact-SQL)

在当前数据库的默认全文非索引字表中插入或删除非索引字。

重要说明重要提示

只有在 100 兼容级别下,才支持 CREATE FULLTEXT STOPLIST。在 80 和 90 兼容级别下,会始终为数据库分配系统非索引字表。

主题链接图标Transact-SQL 语法约定

语法

ALTER FULLTEXT STOPLIST stoplist_name
{ 
    ADD [N] 'stopword' LANGUAGE language_term  
  | DROP 
    {
                'stopword' LANGUAGE language_term 
      | ALL LANGUAGE language_term 
      | ALL
     }
;

参数

  • stoplist_name
    要更改的非索引字表的名称。stoplist_name 最多可包含 128 个字符。

  • 'stopword'
    一个字符串,它可能是在指定的语言中具有语义的词或没有语义的标记。stopword 不能超过最大标记长度(64 个字符)。非索引字可被指定为 Unicode 字符串。

  • LANGUAGE language_term
    指定与要添加或删除的 stopword 关联的语言。

    可将 language_term 指定为与语言区域设置标识符 (LCID) 对应的字符串、整数或十六进制值,如下所示:

    格式

    说明

    String

    language_term 对应于 sys.syslanguages (Transact-SQL) 兼容性视图中 alias 列的值。字符串必须用单引号引起来,如 'language_term'

    Integer

    language_term 是语言的 LCID。

    Hexadecimal

    language_term 将以 0x 开头,后面跟有 LCID 的十六进制值。十六进制值不能超过八位(包括前导零在内)。如果该值是双字节字符集 (DBCS) 格式,则 SQL Server 将其转换为 Unicode 格式。

  • ADD 'stopword' LANGUAGE language_term
    将非索引字添加到由 LANGUAGE language_term 指定的语言的非索引字表中。

    如果指定的关键字及语言 LCID 值组合在 STOPLIST 中不是唯一的,则将返回错误。如果 LCID 值与已注册的语言不对应,则会产生一个错误。

  • DROP { 'stopword' LANGUAGE language_term | ALL LANGUAGE language_term | ALL }
    从非索引字表中删除非索引字。

    • 'stopword' LANGUAGE language_term
      删除由 language_term 指定的语言的指定非索引字。

    • ALL LANGUAGE language_term
      删除由 language_term 指定的语言的所有非索引字。

    • ALL
      删除非索引字表中的所有非索引字。

注释

无。

权限

若要将非索引字表指定为数据库的默认非索引字表,则需要 ALTER DATABASE 权限。另外,若要更改非索引字表,则必须是非索引字表的所有者或者具有 db_owner 或 db_ddladmin 固定数据库角色的成员身份。

示例

下面的示例将更改名为 CombinedFunctionWordList 的非索引字表,首先为 Spanish 添加单词 en,然后为 French 也添加这个单词。

ALTER FULLTEXT STOPLIST CombinedFunctionWordList ADD 'en' LANGUAGE 'Spanish';
ALTER FULLTEXT STOPLIST CombinedFunctionWordList ADD 'en' LANGUAGE 'French';