通常のビューは Sybase Central または Interactive SQL を使用して変更できます。
Sybase Central では、ビュー、プロシージャ、関数の定義は、右ウィンドウ枠の各オブジェクトの [SQL] タブで変更できます。別のウィンドウでビューを編集するには、ビューを選択し、[ファイル] - [新しいウィンドウで編集] を選択します。Interactive SQL では、ALTER VIEW 文を使用して、ビューを変更できます。ALTER VIEW 文はビューの定義を新しい定義に置き換えますが、ビュー上のパーミッションはそのまま保持されます。
既存のビューの名前を変更することはできません。代わりに、新しい名前を付けて新しくビューを作成し、以前の定義をそこにコピーしてから、元のビューを削除します。
ALTER VIEW 文を使用して別のユーザが所有するマテリアライズド・ビューを変更する場合は、所有者を含めて名前を修飾する必要があります (たとえば、GROUPO.EmployeeConfidential)。名前を修飾しなかった場合、データベース・サーバは、ユーザ本人が所有する同名のビューを検索して変更します。見つからない場合は、エラーが返されます。
通常のビューの定義を変更する場合、ビューに他のビューの依存性が存在するときは、変更後に追加の操作が必要なことがあります。たとえば、ビューの変更後、データベース・サーバはそのビューを自動的に再コンパイルして、データベース・サーバが使用できるように有効にします。従属した通常のビューが存在する場合、データベース・サーバはそれらも無効にしてからもう一度有効にします。有効にできない場合、ステータスは INVALID になるため、通常のビューの定義と従属した通常のビューの定義が一貫性を保つようにする必要があります。
通常のビューに従属ビューが存在するかどうかを判断するには、sa_dependent_views システム・プロシージャを使用します。sa_dependent_views システム・プロシージャを参照してください。
基本となるオブジェクトに対するスキーマの変更によってビューが受ける影響の詳細については、ビューの依存性を参照してください。
DBA 権限のあるユーザとして、または通常のビューの所有者として、データベースに接続します。
左ウィンドウ枠で、[ビュー] をダブルクリックします。
ビューを選択します。
右ウィンドウ枠で、[SQL] タブをクリックし、定義のコードを編集します。
複数のビューを編集する場合は、各ビューを右ウィンドウ枠の [SQL] タブで編集するより、各ビューに対して別のウィンドウを開く方が便利な場合があります。別のウィンドウを開くには、ビューを選択し、[ファイル] - [新しいウィンドウで編集] を選択します。
[ファイル] - [保存] を選択します。
DBA 権限のあるユーザとして、または通常のビューの所有者として、データベースに接続します。
ALTER VIEW 文を実行します。
この例では、通常のビューを変更する場合は、実際にはビューの定義を置き換えていることを示します。ここでは、ビュー定義のカラム名をよりわかりやすい名前に変更します。
CREATE VIEW DepartmentSize ( col1, col2 ) AS SELECT DepartmentID, COUNT( * ) FROM Employees GROUP BY DepartmentID; ALTER VIEW DepartmentSize ( DepartmentNumber, NumberOfEmployees ) AS SELECT DepartmentID, COUNT( * ) FROM Employees GROUP BY DepartmentID; |
次の例では、通常のビューの属性だけを変更する場合は、ビューを再定義する必要がないことを示します。ここでは、定義が非表示になるようにビューを設定します。
ALTER VIEW DepartmentSize SET HIDDEN; |
ALTER VIEW 文を参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |