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

SAP Sybase SQL Anywhere 16.0 » SQL Anywhere サーバ SQL の使用法 » テーブル、ビュー、インデックス » マテリアライズドビュー

 

マテリアライズドビュー定義を隠す

マテリアライズドビュー定義をユーザから隠して、データベースに保存されているビュー定義を難読化することができます。この設定は、元に戻せません。

前提条件

そのマテリアライズドビューの所有者であるか、または次のいずれかのシステム権限を持っていることが必要です。

  • ALTER ANY MATERIALIZED VIEW
  • ALTER ANY OBJECT

内容と備考

マテリアライズドビューが隠されると、デバッガを使用したデバッグでも、プロシージャプロファイリングによっても、ビュー定義は表示されません。このビューはアンロードして、他のデータベースに再ロードできます。

マテリアライズドビューを非表示にすると元に戻せず、SQL を使用するだけで非表示にできます。

 ♦ タスク
  1. データベースに接続します。

  2. ALTER MATERIALIZED VIEW...SET HIDDEN 文を実行します。

結果

オートコミットが実行されます。

カタログをブラウズするとき、ビューは表示されません。ただし、ビューは直接参照でき、クエリ処理中に使用できることは変わりません。

次の文は、マテリアライズドビュー EmployeeConfid3 を作成し、再表示して、ビュー定義を難読化します。

CREATE MATERIALIZED VIEW EmployeeConfid3 AS
   SELECT EmployeeID, Employees.DepartmentID, SocialSecurityNumber, Salary, ManagerID,
      Departments.DepartmentName, Departments.DepartmentHeadID
   FROM Employees, Departments
   WHERE Employees.DepartmentID=Departments.DepartmentID;
REFRESH MATERIALIZED VIEW EmployeeConfid3;
ALTER MATERIALIZED VIEW EmployeeConfid3 SET HIDDEN;
警告

次の例を実行するとき、作成したマテリアライズドビューを削除する必要があります。このようにしない場合は、他の例を試すとき、基本となるテーブル Employees および Departments に対するスキーマ変更を実行できなくなります。


 参照