ビューまたは派生テーブルで全文検索を使用するには、全文検索を実行したいベーステーブルのカラムにテキストインデックスを構築する必要があります。次の文では、サンプルデータベースの 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 句、または Window 関数を含めることはできない。
ビューに集合関数を含めることはできない。
CONTAINS クエリはビュー内のベーステーブルは参照できるが、別のビュー内にあるビュー内のベーステーブルは参照できない。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |