我有以下问题:我创建了一个View,但我无法删除其中的行。我不想DROP它,只保留它并删除行以填充新数据。可能吗?提前谢谢。
答案 0 :(得分:0)
通常,视图不是您可以删除的内容;它是一种虚拟表,它向您显示数据库中一个或多个真实表中的行。如果希望某行从视图中消失,则需要从视图后面的实际表中删除数据,或者更改创建视图的SQL,以使该特定行不会显示在视图中。通过一些更简单的视图,您可以删除(并更新)视图;但是,即便这样,数据实际上也会从真实表格中删除。
您通常也无法向视图添加任何内容;如果您需要全新的数据,则必须将其添加到创建视图的实际表中。
有关视图基础知识,请参阅示例http://www.w3schools.com/sql/sql_view.asp
答案 1 :(得分:0)
如果您的视图是可更新的 - 实际上取决于您正在使用的数据库以及创建视图的方式。一般规则(同样,从一个DB到另一个不同)在select语句中应该有一个表而没有聚合,从而创建视图。
以下是MySQL的详细信息:http://dev.mysql.com/doc/refman/5.7/en/view-updatability.html
对于SQL Server:https://msdn.microsoft.com/en-CA/library/ms187956.aspx
InterSystemsCaché:http://docs.intersystems.com/cache20152/csp/docbook/DocBook.UI.Page.cls?KEY=GSQL_views#GSQL_views_update