我们可以从视图中删除行吗?

时间:2014-02-26 03:59:32

标签: postgresql view sql-delete

是否可以从视图中删除行?

如果是,我们怎么能在PostgreSQL中做到这一点? 如果不是,还有什么选择?

1 个答案:

答案 0 :(得分:1)

从版本9.3开始,PostgreSql中的视图可以升级 请参阅文档:http://www.postgresql.org/docs/9.3/static/sql-createview.html(查找“可更新视图”)以了解视图必须满足的条件为“可更新”。

一个非常简单的例子:

create table tbl1  
( rollnumber int,  
name varchar) ;

insert into tbl1 values(1,'abc');  
insert into tbl1 values(2,'def');  
insert into tbl1 values(3,'ghi');

create view view1 as select * from tbl1;


delete from view1 where rollnumber=2;

工作演示:http://sqlfiddle.com/#!15/22c2f/1