细化解析:怎样正确的修改和重命名视图

来源:岁月联盟 编辑:zhuzhu 时间:2007-10-25

在完成视图定义后,可以在不除去和重新创建视图的条件下更改视图名称或修改其定义,从而丢失与之相关联的权限。在重命名视图时,请遵循以下原则:

 

◆要重命名的视图必须位于当前数据库中。

 

 

◆新名称必须遵守标识符规则。

 

 

◆只能重命名自己拥有的视图。

 

 

数据库所有者可以更改任何用户视图的名称。

更改视图并不影响相关对象,如存储过程或触发器,除非视图定义的更改使该相关对象不再有效。例如,pubs 数据库中 authors_view 视图的定义方式如下:

 

CREATE VIEW authors_view AS SELECT au_id FROM authors
 

 

 

存储过程 authors_proc 的定义方式为:

 

CREATE PROC authors_procAS   SELECT au_id from authors_view

对 authors_view 进行修改以检索 au_lname 列而非 au_id:

 

ALTER VIEW authors_viewAS   SELECT au_lname FROM authors

执行时 authors_proc 将会失败,因为视图中 au_id 列已不复存在。

 

也可以修改视图以对其定义进行加密,或确保所有在视图上执行的数据修改语句都符合定义视图的 SELECT 语句中设定的条件。