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

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL リファレンス » システム・オブジェクト » システム・プロシージャ » システム・プロシージャのアルファベット順リスト

 

sa_materialized_view_can_be_immediate システム・プロシージャ

指定されたマテリアライズド・ビューを即時ビューとして定義できるかどうかを返します。

構文
sa_materialized_view_can_be_immediate( 
view_name 
, owner_name
)
引数
  • view_name   マテリアライズド・ビューの名前を指定する CHAR(128) パラメータ。view_name が NULL の場合、エラー「テーブル '...' が見つかりません。」が返されます。

  • owner_name   マテリアライズド・ビューの所有者を指定する CHAR(128) パラメータ。owner_name が NULL の場合、エラー「テーブル '...' が見つかりません。」が返されます。

備考

指定された手動ビューを即時ビューに変更できるかどうかについては、制限があります。このシステム・プロシージャは、変更が許可されるかどうかを確認するときに使用します。即時ビューの作成に関する追加制限のリストについては、即時ビューの追加の制限を参照してください。

sa_materialized_view_can_be_immediate システム・プロシージャは、指定されたマテリアライズド・ビューに関する次の情報を返します。

カラム名 データ型 説明
SQLStateVal CHAR(6) 返される SQLSTATE。
ErrorMessage LONG VARCHAR SQLSTATE に対応するエラー・メッセージ。

結果セット内のそれぞれのローが、ビューについて返される 1 つの SQLSTATE に対応します。そのため、マテリアライズド・ビュー定義が複数の制限に違反している場合は、そのビューの複数のローが結果に格納されます。

このシステム・プロシージャの出力を sa_materialized_view_info システム・プロシージャの出力と結合すると、ビューのステータスに関する情報と、ビューを即時ビューに変更できるかどうかの情報を取得できます。sa_materialized_view_info システム・プロシージャの「例」の項を参照してください。

パーミッション

DBA 権限。または、DBO が所有するプロシージャに対する実行パーミッション。

参照
関連する動作

指定したマテリアライズド・ビューのすべてのメタデータと依存性は、サーバのキャッシュにロードされます。

次の文を実行し、手動ビュー view10 を作成してそのビューをリフレッシュします。

CREATE MATERIALIZED VIEW view10
   AS (SELECT C.ID, C.Surname, sum(P.UnitPrice) as revenue, C.CompanyName, SO.OrderDate
         FROM Customers C, SalesOrders SO, SalesOrderItems SOI, Products P
         WHERE C.ID = SO.CustomerID
         AND SO.ID = SOI.ID
         AND P.ID = SOI.ProductID
         GROUP BY C.ID, C.Surname, C.CompanyName, SO.OrderDate);
REFRESH MATERIALIZED VIEW view10;

次のクエリを使用して、ビュー view10 を即時ビューに変更できない理由を検索します。

SELECT SQLStateVal AS "SQLstate", ErrorMessage AS Description 
   FROM sa_materialized_view_can_be_immediate( 'view10', 'DBA' ) 
   ORDER BY SQLSTATE;
SQLstate 説明
42WC3 マテリアライズド・ビュー view10 を即時に変更できません。すでに初期化されています。
42WCA マテリアライズド・ビュー view10 を即時に変更できません。NULL 入力不可のカラムにユニークなインデックスがありません。
42WC6 マテリアライズド・ビューを即時に変更できません。COUNT(*) が SELECT リストの一部に必要です。
42WC7 マテリアライズド・ビューを即時に変更できません。非集合の NULL 入力不可のカラムにユニークなインデックスがありません。