Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Anywhere サーバー SQL の使用法 » データの問い合わせと修正 » 全文検索 » 全文検索のタイプ

 

ビュー検索

ビューまたは派生テーブルで全文検索を使用するには、全文検索を実行したいベーステーブルのカラムにテキストインデックスを構築する必要があります。次の文では、サンプルデータベースの 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 クエリはビュー内のベーステーブルは参照できるが、別のビュー内にあるビュー内のベーステーブルは参照できない。

 参照