ビューを変更します。
Synopsis
ALTER VIEW view-name [(column-commalist)] AS query [WITH READ ONLY]
ALTER VIEW view-name [(column-commalist)] AS query [WITH [level] CHECK OPTION]
ビューに列名リストを指定することによって、クエリにそれら列名を含めないこともできます。以下はその例です。
ALTER VIEW MyView (MyViewCol1,MyViewCol2,MyViewCol3) AS
SELECT TableCol1, TableCol2, TableCol3 FROM MyTable
ALTER VIEW MyView AS SELECT TableCol1 AS ViewCol1,
TableCol2 AS ViewCol2,
TableCol3 AS ViewCol3
FROM MyTable
ALTER VIEW コマンドは特権を必要とする操作です。
ALTER VIEW を使用する前に、%ALTER_VIEW 管理者特権または指定されたビューに対する %ALTER オブジェクト特権があることを確認する必要があります。これを設定しないと、SQLCODE 99 エラー (特権違反) が返されます。適切な特権を持っている場合は、
GRANT コマンドを使用して %ALTER_VIEW 特権または %ALTER 特権を割り当てることができます。埋め込み SQL では、以下のように $SYSTEM.Security.Login メソッドを使用して適切な特権を持ったユーザとしてログインできます。
DO $SYSTEM.Security.Login("_SYSTEM","SYS")
&sql( )
以下の埋め込み SQL の例では、クエリの WITH CHECK OPTION を使用してビューを変更します。
DO $SYSTEM.Security.Login("_SYSTEM","SYS")
&sql(ALTER VIEW Sample.MyTestView AS
SELECT FIRSTWORD FROM Sample.MyTest WITH CHECK OPTION)
WRITE !,"SQL alter view code is: ",SQLCODE