Collection Contents 上一页 下一页 PDF

ASA SQL 参考

SQL 语句

DROP 语句


说明 

此语句用于从数据库中删除对象。

语法 

DROP
  { DATATYPE | DOMAIN } datatype-name
DBSPACE dbspace-name
EVENT event-name
FUNCTION [ owner.]function-name
INDEX [ [owner.]table-name.]index-name
MESSAGE msgnum
PROCEDURE [ owner.]procedure-name
TABLE [ owner.]table-name
TRIGGER [ [ owner.]table-name.]trigger-name
VIEW [ owner.]view-name

用法 

DROP 语句删除指定数据库结构的定义。如果结构是 dbspace,则在删除此 dbspace 之前必须先删除 dbspace 中的所有表。如果结构是表,则表中的所有数据作为删除过程的一部分自动删除。另外,表的所有索引和键都由 DROP TABLE 语句删除。

只要 DROP TABLE、DROP INDEX 和 DROP DBSPACE 语句影响到当前正由另一连接使用的表,就会禁止这些语句。

当过程或函数正由另一连接使用时,会禁止 DROP PROCEDURE 和 DROP FUNCTION。

如果表中使用了数据类型,则会禁止 DROP DATATYPE。要删除数据类型,必须更改域上定义的所有列的数据类型。建议使用 DROP DOMAIN 而不是 DROP DATATYPE,因为 DROP DOMAIN 是 ANSI/ISO SQL3 草案中使用的语法。

权限 

任何拥有对象或 DBA 权限的用户都可以执行 DROP 语句。

对于 DROP DBSPACE,您必须是数据库的唯一连接。

具有表的 ALTER 权限的用户可以执行 DROP TRIGGER。

具有表的 REFERENCES 权限的用户可以执行 DROP INDEX。

除非引用全局临时表的所有用户都已经断开,否则不能删除全局临时表。

副作用 

自动提交。在 Interactive SQL 的 [结果] 窗格中清除 [结果] 选项卡。DROP TABLE 和 DROP INDEX 关闭当前连接的所有游标。

DROP INDEX 不可用于删除本地临时表上的索引。如果试图执行此操作,将导致 [索引未找到] 错误。

局部临时表是个特例,删除它时不执行提交。

删除视图时,所有过程和触发器都从内存中卸载,因此引用此视图的任何过程或触发器都会反映此视图不存在的事实。如果按常规删除和创建视图,则卸载和装载过程和触发器会对性能造成负面影响。

另请参见 
标准和兼容性 
示例 
DROP TABLE department

从数据库中删除 emp_dept 视图。

DROP VIEW emp_dept

Collection Contents 上一页 下一页 PDF