GBASE 8C——SQL参考6 sql语法(10)

  1. DROP OPERATOR CLASS

功能描述

移除一个操作符类。

语法格式

DROP OPERATOR CLASS [ IF EXISTS ] name USING index_method [ CASCADE | RESTRICT ]

参数说明

  1. IF EXISTS:如果该操作符类不存在,不报错仅提示;
  2. name:一个现有的操作符类的名称,可以被模式修饰;
  1. index_method:这个操作符类所用于的索引方法的名称;
  1. CASCADE:自动删除依赖于该操作符类的对象(例如索引),以及所有依赖于那些对象的对象;
  1. RESTRICT:如果有任何对象依赖于该操作符类,则拒绝删除,此为默认设置。

注意事项

只有操作符类的所有者可以删除该操作符类。

范例

移除 B-树操作符类widget_ops:

DROP OPERATOR CLASS widget_ops USING btree;

语法兼容

SQL标准中没有DROP OPERATOR CLASS语句。

相关语法

ALTER OPERATOR CLASSCREATE OPERATOR CLASSALTER OPERATOR FAMILYCREAT OPERATOR FAMILYDROP OPERATOR FAMILY

  1. DROP OPERATOR FAMILY

功能描述

移除一个操作符族。

语法格式

DROP OPERATOR FAMILY [ IF EXISTS ] name USING index_method [ CASCADE | RESTRICT ]

参数说明

  1. IF EXISTS:如果该操作符族不存在,不报错仅提示;
  2. name:现有的操作符族的名称,可以被模式修饰;
  1. index_method:操作符族所属的索引的名称;
  1. CASCADE:自动删除依赖于该操作符族的对象,以及所有依赖于那些对象的对象;
  1. RESTRICT:如果有任何对象依赖于该操作符族,则拒绝删除,此为默认设置。

注意事项

只有操作符族的所有者可以删除该操作符族。

范例

移除 B-树操作符族float_ops:

DROP OPERATOR FAMILY float_ops USING btree;

语法兼容

SQL标准中没有DROP OPERATOR FAMILY语句。

相关语法

ALTER OPERATOR FAMILYCREATE OPERATOR FAMILYALTER OPERATOR CLASSCREATE OPERATOR CLASSDROP OPERATOR CLASS

  1. DROP OWNED

功能描述

删除一个数据库角色所拥有的数据库对象。

语法格式

DROP OWNED BY { name | CURRENT_USER | SESSION_USER } [, ...] [ CASCADE | RESTRICT ]

参数说明

  1. name:将要删除的角色名;
  1. CASCADE:自动删除依赖于该角色的对象,以及所有依赖于那些对象的对象;
  1. RESTRICT:如果有任何对象依赖于该角色,则拒绝删除,此为默认设置。

注意事项

移除角色后,所有该角色在当前数据库里和共享对象(数据库,表空间)上的所有对象上的权限都将被撤销。

但是数据库、表空间将不会被移除。

语法兼容

DROP OWNED命令是一个PostgreSQL扩展。

相关语法

REASSIGN OWNEDDROP ROLE

  1. DROP POLICY

功能描述

移除一个行级安全策略。

语法格式

DROP POLICY [ IF EXISTS ] name ON table_name [ CASCADE | RESTRICT ]

参数说明

  1. IF EXISTS:如果该策略不存在,不报错仅提示;
  2. name:待删除的策略的名称;
  3. table_name:该策略所在的表的名称,可以被模式修饰;
  4. CASCADE | RESTRICT:无对象依赖于该行访问控制策略,该语句无意义。

注意事项

只有表的所有者可以移除该行级安全策略。

范例

DROP POLICY test_rls ON test_r;

DROP POLICY

语法兼容

DROP POLICY是一种PostgreSQL扩展。

相关语法

CREATE POLICYALTER POLICY

  1. DROP ROLE

功能描述

删除指定的角色。

语法格式

DROP ROLE [ IF EXISTS ] name [, ...]

参数说明

  1. IF EXISTS:如果该角色不存在,不报错仅提示;
  2. name:待移除的角色的名称。

注意事项

只有系统管理员可以移除管理员角色。要移除非管理员角色,需要具有CREATEROLE权限。

数据库占用中的角色无法移除。删除角色前,需要删除角色所拥有的所有对象及其权限。

范例

DROP ROLE gbasedbt;

DROP ROLE

语法兼容

SQL 标准定义了DROP ROLE,但是它只允许一次删除一个角色且与PostgreSQL的权限不同。

相关语法

CREATE ROLEALTER ROLESET ROLE

  1. DROP RULE

功能描述

移除一个重写规则。

语法格式

DROP RULE [ IF EXISTS ] name ON table_name [ CASCADE | RESTRICT ]

参数说明

  1. IF EXISTS:如果该规则不存在,不报错仅提示;
  2. name:待移除的规则的名称;
  1. table_name:规则适用的表或者视图的名称,可以被模式修饰;
  1. CASCADE:自动删除依赖于该规则的对象,以及所有依赖于那些对象的对象;
  1. RESTRICT:如果有任何对象依赖于该规则,则拒绝删除,此为默认设置。

范例

DROP RULE newrule ON mytable;

DROP RULE

语法兼容

DROP RULE是一个PostgreSQL语言扩展。

相关语法

CREATE RULEALTER RULE

  1. DROP SCHEMA

功能描述

移除一个模式。

语法格式

DROP SCHEMA [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]

参数说明

  1. IF EXISTS:如果该模式不存在,不报错仅提示;
  2. name:模式的名称;
  1. CASCADE:自动删除依赖于该模式的对象(表、函数等),以及所有依赖于那些对象的对象;
  1. RESTRICT:如果有任何对象依赖于该模式,则拒绝删除,此为默认设置。

注意事项

只有模式的所有者有权限执行DROP SCHEMA命令。

范例

DROP SCHEMA gbaseschema CASCADE;

DROP SCHEMA

语法兼容

DROP SCHEMA符合SQL标准,IF EXISTS是一个 PostgreSQL扩展。

相关语法

ALTER SCHEMACREATE SCHEMA

  1. DROP SEQUENCE

功能描述

移除一个序列。

语法格式

DROP SEQUENCE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]

参数说明

  1. IF EXISTS:如果该序列不存在,不报错仅提示;
  2. name:序列的名称,可以被模式修饰;
  1. CASCADE:自动删除依赖于该序列的对象,以及所有依赖于那些对象的对象;
  1. RESTRICT:如果有任何对象依赖于该序列,则拒绝删除,此为默认设置。

注意事项

只有序列的所有者才能删除该序列。

范例

DROP SEQUENCE serial;

DROP SEQUENCE

语法兼容

DROP SEQUENCE符合SQL标准,只有IF EXISTS选项是一个PostgreSQL扩展。

相关语法

CREATE SEQUENCEALTER SEQUENCE

  1. DROP STATISTICS

功能描述

删除扩展统计。

语法格式

DROP STATISTICS [ IF EXISTS ] name [, ...]

参数说明

  1. IF EXISTS:如果该扩展统计不存在,不报错仅提示;
  2. name:待删除的统计对象名称,可以被模式修饰;

注意事项

只有统计对象的所有者、模式的所有者或者系统管理员可以删除统计对象。

范例

DROP STATISTICS IF EXISTS

    accounting.users_uid_creation,

    public.grants_user_role;

语法兼容

SQL标准中没有DROP STATISTICS命令。

相关语法

ALTER STATISTICSCREATE STATISTICS

  1. DROP TABLE

功能描述

移除表。

语法格式

DROP TABLE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]

参数说明

  1. IF EXISTS:如果该表不存在,不报错仅提示;
  2. name:待删除的表的名称,可以被模式修饰;
  1. CASCADE:自动删除依赖于该表的对象(例如视图),以及所有依赖于那些对象的对象;
  1. RESTRICT:如果有任何对象依赖于该表,则拒绝删除,此为默认设置。

注意事项

DROP TABLE会强制删除指定的表,删除表后,依赖该表的索引会被删除,而使用到该表的函数和存储过程将无法执行。删除分区表,会同时删除分区表中的所有分区。

范例

DROP TABLE t1;

DROP TABLE

语法兼容

这个命令符合SQL标准,不过该标准只允许每个命令删除一个表并且IF EXISTS选项是一个 PostgreSQL扩展。

相关语法

ALTER TABLECREATE TABLE

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值