Postgresql 创建视图vc创建视图作为查询;有什么区别

Postgresql 创建视图vc创建视图作为查询;有什么区别,postgresql,ddl,sql-view,Postgresql,Ddl,Sql View,我试图在Postgresql中创建一个查询,调用时将在运行时从两个表中获取数据并返回给调用程序。记录需要是可更新的,所以我希望我这样做是正确的。我感到困惑的地方在于: create view workorderquery as SELECT PartsWorkOrder.*, Copiers.* FROM PartsWorkOrder RIGHT JOIN Copiers ON PartsWorkOrder.Printer = Copiers.Copier as query; 以及: 我是否需

我试图在Postgresql中创建一个查询,调用时将在运行时从两个表中获取数据并返回给调用程序。记录需要是可更新的,所以我希望我这样做是正确的。我感到困惑的地方在于:

create view workorderquery as SELECT PartsWorkOrder.*, Copiers.*
FROM PartsWorkOrder RIGHT JOIN Copiers ON PartsWorkOrder.Printer = Copiers.Copier as query;
以及:


我是否需要结尾处的“as查询”?如果是这样,为什么会出现错误?

第一个语句是无效语句,不会运行任何语句。无论我做什么,它们都不会运行。视图/查询以只读方式结束。第一个语句将抛出错误(最后的
as query
无效)。当然,第二个将是只读的。只有从单个表中选择的视图才可以自动更新。对于使用联接的视图,需要
create view workorderquery as SELECT PartsWorkOrder.*, Copiers.*
FROM PartsWorkOrder RIGHT JOIN Copiers ON PartsWorkOrder.Printer = Copiers.Copier;