可以使用 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 |