返回首页

gbase数据、南大通用产品文档:GBase8cDROP SCHEMA

更新日期:2024年09月11日

功能描述
从数据库中删除模式。
注意事项
只有模式的所有者或者被授予了模式DROP 权限的用户有权限执行DROP SCHEMA 命
令,系统管理员默认拥有此权限。
语法格式
DROP SCHEMA [ IF EXISTS ] schema_name [, ...] [ CASCADE | RESTRICT ];
参数说明

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
1128

IF EXISTS
如果指定的模式不存在,发出一个notice 而不是抛出一个错误。

schema_name
模式的名称。
取值范围:已存在模式名。

CASCADE | RESTRICT
CASCADE:自动删除包含在模式中的对象。
RESTRICT:如果模式包含任何对象,则删除失败(缺省行为)。
须知:不要随意删除pg_temp 或pg_toast_temp 开头的模式,
这些模式是系统内
部使用的,如果删除,可能导致无法预知的结果。
说明:无法删除当前模式。如果要删除当前模式,须切换到其他模式下。
示例
请参见CREATE SCHEMA 的示例。
相关命令
ALTER SCHEMA,CREATE SCHEMA。

GBaseParameterCollection属性

不在 WHERE 子句中编写子查询,您可使用 MERGE 语句将来自源表和目标表的行连接
在一起,然后从目标删除与连接条件相匹配的那些行。(Delete MERGE 中的源表还可为
一个集合派生的表,它的行是查询的结果,该查询连接其他的表和视图,但是在下列的示
例中,源是单个表。)
如在前面的示例中那样,
假设您发现 stock 表的某些行包含不正确的制造商代码。
您想要删
除它们以便重新输入它们,而不是更新它们。您可使用 MERGE 语句,指定 stock 作为目
标表,manufact 作为源表,ON 子句中的连接条件,并对于带有不正确的制造商代码
的 stock 行使用 Delete 子句,如下例所示:
MERGE INTO stock USING manufact
ON stock.manu_code != manufact.manu_code
WHEN MATCHED THEN DELETE;
在此示例中,会从 stock 表中删除那些满足 ON 子句中的连接条件的所有行。在此,对于
其中的 manu_code 列值不等于 manufact 中的任何manu_code 值的 stock 的那些行,连接条
件中的不等谓词(stock.manu_code != manufact.manu_code)求值为真。
在 USING 子句中必须罗列正连接到目标表的源表。
MERGE 语句还可更新目标表的行,
或将数据从源表插入到目标表,
根据该行是否满足 ON
子句为连接目标表与源表而指定的条件。单个 MERGE 语句还可同时组合 DELETE 与
INSERT 操作,或者可同时组合 UPDATE 与 INSERT 操作而不删除任何行。MERGE 语
句不更改源表。要获取关于 Delete 合并、Insert 合并和 Update 合并的语法与限制的更多
信息,请参阅《GBase 8s SQL 指南:语法》 中 MERGE 语句的描述。

GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司 - 161 -