细化解析:怎样正确的修改和重命名视图
来源:岁月联盟
时间: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 语句中设定的条件。