sp_fulltext_column (Transact-SQL)
Определяет, должен ли конкретный столбец таблицы использоваться в полнотекстовом индексировании.
Внимание В будущей версии Microsoft SQL Server эта возможность будет удалена. Избегайте использования этой возможности в новых разработках и запланируйте изменение существующих приложений, в которых она применяется. Вместо этой процедуры используйте инструкцию ALTER FULLTEXT INDEX.
Соглашения о синтаксисе в Transact-SQL
Синтаксис
sp_fulltext_column [ @tabname= ] 'qualified_table_name' ,
[ @colname= ] 'column_name' ,
[ @action= ] 'action'
[ , [ @language= ] 'language_term' ]
[ , [ @type_colname= ] 'type_column_name' ]
Аргументы
- [ @tabname=] 'qualified_table_name'
Имя таблицы, состоящее из одной или двух частей. Таблица должна существовать в текущей базе данных. У таблицы должен быть полнотекстовый поиск. Параметр qualified_table_name относится к типу nvarchar(517) и не имеет значения по умолчанию.
[ @colname= ] 'column_name'
Имя столбца таблицы qualified_table_name. Столбец должен хранить значения символьного типа или типов varbinary(max) или image и не может быть вычисляемым. Параметр column_name относится к типу sysname и не имеет значения по умолчанию.Примечание. SQL Server может создавать полнотекстовые индексы данных, хранящихся в столбцах типов varbinary(max) или image. Изображения и рисунки не индексируются.
[ @action=] 'action'
Выполняемое действие. Параметр action относится к типу varchar(20), не имеет значения по умолчанию и может принимать одно из следующих значений.Значение Описание add
Добавляет столбец column_name таблицы qualified_table_name к неактивному полнотекстовому индексу таблицы. Это действие активирует полнотекстовое индексирование столбца.
drop
Удаляет столбец column_name таблицы qualified_table_name из неактивного полнотекстового индекса таблицы.
[ @language= ] 'language_term'
Язык данных, хранящихся в столбце. Список языков, включенных в SQL Server, см. в разделе sys.fulltext_languages (Transact-SQL).Примечание. Указывайте значение «Neutral», если столбец содержит данные на нескольких языках или на языке, который не поддерживается. Значение по умолчанию задается параметром конфигурации «default full-text language».
- [ @type_colname = ] 'type_column_name'
Имя столбца в таблице qualified_table_name, который содержит тип документа column_name. Этот столбец должен быть типа char, nchar, varchar или nvarchar. Он используется, если тип данных столбца column_name — varbinary(max) или image. Параметр type_column_name относится к типу sysname и не имеет значения по умолчанию.
Значения кодов возврата
0 (успешное завершение) или 1 (неуспешное завершение)
Результирующие наборы
Нет
Замечания
Если полнотекстовый индекс активен, все выполняющиеся заполнения прекращаются. Более того, если для таблицы с полнотекстовым индексом включено отслеживание изменений, SQL Server удостоверится, что индекс актуален. Например, SQL Server прекратит текущее заполнение таблицы, удалит существующий индекс и начнет новое заполнение.
Если используется отслеживание изменений и нужно добавить или удалить столбец, сохранив полнотекстовый индекс, таблицу следует деактивировать, а затем добавить или удалить нужные столбцы. Эти действия закрепляют индекс. Таблица может быть активирована позже, когда имеет смысл начать заполнение.
Разрешения
Пользователь должен быть членом фиксированной роли базы данных db_ddladmin, db_owner или владельцем таблицы.
Примеры
В следующем примере столбец DocumentSummary
таблицы Document
будет добавлен в полнотекстовый индекс этой таблицы.
USE AdventureWorks;
GO
EXEC sp_fulltext_column 'Production.Document', DocumentSummary, 'add';
GO
В следующем примере подразумевается, что для таблицы spanishTbl
создан полнотекстовый индекс. Чтобы добавить столбец spanishCol
к этому индексу, выполните следующую хранимую процедуру:
EXEC sp_fulltext_column 'spanishTbl', 'spanishCol', 'add', 0xC0A;
GO
При выполнении такого запроса:
SELECT *
FROM spanishTbl
WHERE CONTAINS(spanishCol, 'formsof(inflectional, trabajar)')
Результирующий набор будет включать в себя строки с различными формами слова trabajar
(«работать»), например trabajo
, trabajamos
и trabajan
.
Примечание. |
---|
Все столбцы, перечисленные в одной функции предложения полнотекстового запроса, должны быть на одном языке. |
См. также
Справочник
OBJECTPROPERTY (Transact-SQL)
sp_help_fulltext_columns (Transact-SQL)
sp_help_fulltext_columns_cursor (Transact-SQL)
sp_help_fulltext_tables (Transact-SQL)
sp_help_fulltext_tables_cursor (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)
Хранимые процедуры компонента Full-Text Search (Transact-SQL)