要对视图或派生表使用全文搜索,必须在要执行全文搜索的基表中的列上构建文本索引。以下语句对示例数据库中的 MarketingInformation 表创建一个其中已有文本索引名称的视图,然后对该视图执行全文搜索。
要对 MarketingInformation 基表创建视图,请执行以下语句:
CREATE VIEW MarketingInfoView AS SELECT MI.ProductID AS ProdID, MI."Description" AS "Desc" FROM GROUPO.MarketingInformation AS MI WHERE MI."ID" > 3 |
利用以下语句,您可以在基础表上用文本索引来查询视图。
SELECT * FROM MarketingInfoView WHERE CONTAINS ( "Desc", 'Cap OR Tee*' ) |
也可执行以下语句,以在基础表上使用文本索引来查询派生表。
SELECT * FROM ( SELECT MI.ProductID, MI."Description" FROM MarketingInformation AS MI WHERE MI."ID" > 4 ) AS dt ( P_ID, "Desc" ) WHERE CONTAINS ( "Desc", 'Base*' ) |
您想要对其运行全文搜索的列必须包括在视图或派生表的 SELECT 列表中。
在基础性基表上使用文本索引搜索视图有如下限制:
视图不能含有 TOP、FIRST、DISTINCT、GROUP BY、ORDER BY、UNION、INTERSECT 和 EXCEPT 子句或窗口函数。
视图不能包含集合函数。
CONTAINS 查询可查询某一视图内的基表,但不能查询另一个视图内的某一视图内的基表。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |