0

创建视图(简化)后如下:

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] 来更新视图以包含表中的任何新列。

4

1 回答 1

2

来自MySQLCREATE VIEW文档:

视图定义在创建时被“冻结”,因此之后对基础表的更改不会影响视图定义。例如,如果将视图定义为SELECT *在表上,则稍后添加到表中的新列不会成为视图的一部分。

所以简短的回答是否定的,你不能保留通配符。

于 2012-08-24T12:22:09.923 回答