在PostgreSQL中,CREATE VIEW IF NOT EXISTS的等效语句是什么?

27

我想做类似的事情

CREATE VIEW IF NOT EXISTS complete_user_profile ...

不确定怎么做

1个回答

32
你可以使用 CREATE OR REPLACE

CREATE OR REPLACE VIEW 相似,但是如果同名的视图已经存在,它会被替换。新的查询必须生成与现有视图查询相同的列(也就是说,具有相同的列名和相同的数据类型,并按照相同的顺序),但是它可以在列表末尾添加其他列。产生输出列的计算可能完全不同。

CREATE OR REPLACE VIEW complete_user_profile ...

我也这么认为,但我发现必须暗示你正在更改基础查询有点违反直觉和惯用语。谢谢。 - LetsPlayYahtzee
4
“create if not exists” 和 “create or replace” 之间有所不同 - 对于一个视图来说,“create or replace” 更有意义。 - user330315
10
如果你正在运行迁移脚本,可能不想更改视图。 - bobmarksie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接