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 の使用法 » テーブル、ビュー、インデックス » マテリアライズドビュー

 

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

マテリアライズドビューの定義をユーザーから隠すことができます。マテリアライズドビューを非表示にする場合、データベースに保存されたビュー定義を難読化します。

前提条件

DBA 権限を所有しているか、マテリアライズドビューの所有者でなければなりません。

内容と備考

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

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

 ♦ 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 に対するスキーマ変更ができなくなります。


 参照