指定表的某個特定列是否參與全文索引。
sp_fulltext_column [ @tabname = ] 'qualified_table_name' ,
[ @colname = ] 'column_name' ,
[ @action = ] 'action'
[ , [ @language = ] 'language' ]
[ , [ @type_colname = ] 'type_column_name' ]
[@tabname =] 'qualified_table_name'
一段或兩段的表名。該表必須已經(jīng)存在于當(dāng)前的數(shù)據(jù)庫中。該表必須有全文索引。qualified_table_name 的數(shù)據(jù)類型為 nvarchar(517),無默認(rèn)值。
[@colname =] 'column_name'
是 qualified_table_name 中某個列的名稱。該列必須是一個字符,或是一個 image 列,不能是一個已計(jì)算列。column_name 的數(shù)據(jù)類型為 sysname,無默認(rèn)值。
說明 SQL Server 能夠創(chuàng)建 text 數(shù)據(jù)的全文索引,text 數(shù)據(jù)存儲在具有 image 數(shù)據(jù)類型的列中。不對圖像或圖片編制索引。
[@action =] 'action'
將要執(zhí)行的動作,action 的數(shù)據(jù)類型為 varchar(20),無默認(rèn)值,可以是下列值中的一個。
值 | 描述 |
---|---|
add | 將 qualified_table_name 的 column_name 添加到表的非活動全文索引中。該動作啟用全文索引的列。 |
drop | 從表的非活動全文索引中刪除 qualified_table_name 的 column_name。 |
[@language =] 'language'
存儲在列中的數(shù)據(jù)的語言。下表列出了包括在 SQL Server 中的語言。
說明 當(dāng)某個列包含使用多種語言的數(shù)據(jù)或不支持語言的數(shù)據(jù)時(shí),請使用"中性"設(shè)置。由配置選項(xiàng) default full-text language 指定默認(rèn)值。
區(qū)域設(shè)置 | 區(qū)域設(shè)置 ID |
---|---|
中性 | 0 |
簡體中文 | 0x0804 |
繁體中文 | 0x0404 |
荷蘭語 | 0x0413 |
英國英語 | 0x0809 |
美國英語 | 0x0409 |
法語 | 0x040c |
德國 | 0x0407 |
意大利 | 0x0410 |
日語 | 0x0411 |
朝鮮語 | 0x0412 |
現(xiàn)代西班牙語 | 0x0c0a |
普通瑞典語 | 0x041d |
[@type_colname =] 'type_column_name'
qualified_table_name 中某個列的名稱,該列存放著 column_name 的文檔類型。該列必須為 char、nchar、varchar 或 nvarchar。只有當(dāng) column_name 的數(shù)據(jù)類型為 image 時(shí)才使用它。type_column_name 的數(shù)據(jù)類型為 sysname,無默認(rèn)值。
0(成功)或 1(失敗)
無
如果全文索引是活動的,應(yīng)停止所有正在進(jìn)行的填充。而且,如果一個帶活動全文索引的表啟用了更改跟蹤,SQL 服務(wù)器確保該索引是當(dāng)前的。例如,SQL Server 停止表中所有當(dāng)前的填充,除去現(xiàn)有的索引,并啟動新填充。
如果打開更改跟蹤,并需要在保留索引的同時(shí)從全文索引中添加或除去列,應(yīng)停用該表并添加或除去所需的列。這些動作凍結(jié)索引。當(dāng)可以啟動填充時(shí),可以稍后再激活該表。
只有 sysadmin 固定服務(wù)器角色成員、db_owner 和 db_ddladmin 固定數(shù)據(jù)庫角色成員和對象所有者才能執(zhí)行 sp_fulltext_column。
USE Northwind
EXEC sp_fulltext_column Categories, Description, 'add'
sp_fulltext_column 'spanishTbl', 'spanishCol', 'add', 0xC0A
運(yùn)行該查詢時(shí):
SELECT *
FROM spanishTbl
WHERE CONTAINS(spanishCol, 'formsof(inflectional, trabajar)')
結(jié)果集將包括帶有不同形式的 trabajar的行(要使用),如 trabajo、trabajamos 和 trabajan。
說明 在單個全文查詢函數(shù)子句中列出的所有列都必須使用相同的語言。