DROP PROJECTION

屏蔽要从编录中删除的 投影,以便该投影不可供用户查询。

语法

DROP PROJECTION [ IF EXISTS ] { [[database.]schema.]projection[,...] } [ RESTRICT | CASCADE ]

参数

IF EXISTS
指定当要删除的投影不存在时不报告错误。 在 SQL 脚本中使用此子句,可避免在尝试创建不存在的对象之前删除它们时出错。
[database.]schema

数据库和架构。默认架构为 public。如果指定一个数据库,它必须是当前数据库。

projection
指定要删除的投影:
  • 如果投影未分段,则将删除数据库群集中的所有投影副本。

  • 如果投影已分段,则将通过指定投影基本名的方式删除所有伙伴实例投影。您也可以指定具体的伙伴投影名称,但前提是如此删除该伙伴实例投影不会违反系统 K-safety

有关投影名称约定,请参阅投影命名

RESTRICT | CASCADE
指定在投影包含对象的情况下是否将其删除:
  • RESTRICT (默认值):仅在投影不包含任何对象的情况下将其删除。

  • CASCADE:即便投影包含对象,仍将其删除。

特权

非超级用户:锚表的所有者

限制

投影删除操作有以下限制:

  • 投影不能是锚表的 超投影

  • 以下情况不能删除伙伴实例投影:删除该伙伴实例投影违反系统 K-safety

  • 必须有另一个投影可用于强制执行相同主键或唯一键约束。

另请参阅