如下创建视图后(简化):
create view testView as
select t1.* from table1 t1
join table2 t2 on t1.id = t2.id
where t1.value = someValue
[尝试编辑时,通配符已替换为表的实际列名。
[这很讨厌,因为当我将新列添加到表中时,我需要手动将它们添加到视图中,或者保存创建脚本,然后在修改表后重新执行它。
是否可以保留通配符以进行编辑?在MSSQL中,在编辑视图时保留通配符,我可以简单地执行sp_refreshview [viewname]来更新视图,使其在表中包括所有新列。
从MySQL documentation到CREATE VIEW
:
视图定义在创建时已“冻结”,因此对之后的基础表不会影响视图定义。对于例如,如果视图在表上定义为
CREATE VIEW
,则新列以后添加到表中的信息不会成为视图的一部分。
所以简短的答案是“否,您不能保留通配符。”>