第二章 SQL命令 ALTER TABLE(二)
删除列限制
DROP COLUMN
可以删除指定为逗号分隔列表的多个列定义。每个列出的列名后面必须紧跟其RESTORY
或CASCADE
(如果未指定,则默认为RESTRICE
)和%DELDATA
或%NODELDATE
(如果未指定,则默认为%NODELDATA
)选项。
默认情况下,删除列定义不会从数据映射中删除存储在该列中的任何数据。
要同时删除列定义和数据,请指定%DELDATA
选项。
删除列定义并不删除相应的列级特权。
例如,授予用户在该列上插入、更新或删除数据的权限。
这将产生以下后果:
- 如果删除了一个列,然后添加了另一个同名的列,那么用户和角色将在新列上拥有与旧列相同的特权。
- 删除列后,不可能撤销该列的对象特权。
由于这些原因,通常建议在删除列定义之前使用REVOKE
命令从列中撤销列级特权。