Collection Contents 上一页 下一页 PDF

ASA SQL 参考

SQL 语句

ALTER VIEW 语句


说明 

此语句用于用修改的版本替换视图定义。如果使用了 SET HIDDEN 或 RECOMPILE,将不指定视图定义。

语法 1 

ALTER VIEW
owner.]view-name [ ( column-name, ... ) ] AS select-statement
WITH CHECK OPTION ]

语法 2 

ALTER VIEW
owner.]view-name { SET HIDDEN | RECOMPILE }

用法 

语法 1    除第一个单词外,ALTER VIEW 语句的语法与 CREATE VIEW 语句的语法相同。ALTER VIEW 语句用它的内容替换 CREATE VIEW 语句的整个内容。维护视图的现有权限,不必重新分配。如果使用 DROP VIEW 后再执行 CREATE VIEW,而不是 ALTER VIEW,则视图的权限必须重新分配。

语法 2    可以使用 SET HIDDEN 使关联的视图的语法变成乱码,使之不可读。可以卸载该视图,然后将其重装到其它数据库中。

此设置是不可逆的。如果您还将再次需要起始源,则必须将它保存在数据库外。

如果使用 SET HIDDEN,则使用存储过程调试程序进行调试将不会显示视图定义,也无法通过过程分析获得视图定义。

RECOMPILE 子句用于为现有视图重新创建列的定义。如果视图所基于的表被更新,可以使用 RECOMPILE 更新视图定义。RECOMPILE 也被 sa_recompile_views 系统过程用来在重建数据库时更新视图定义。

有关详细信息,请参见 sa_recompile_views 系统过程

注意    如果定义视图的 SELECT 语句包含一个星号 (*),视图中的列数会在基表中发生列增减时随之变化。视图中列的名称和数据类型也会发生更改。

有关关键字和选项的信息,请参见 CREATE VIEW 语句

权限 

必须是视图的所有者或者有 DBA 权限。

副作用 

自动提交。

从内存中卸载所有的过程和触发器,使引用视图的任何过程或触发器都反映新的视图定义。如果定期变更视图,则过程和触发器的卸载和装载将影响性能。

另请参见 
标准和兼容性 

Collection Contents 上一页 下一页 PDF