数据定义语言
(DDL)
语句
数据定义语言
(DDL)
语句定义、更改、和删除模式对象。
DDL
能够更改对象的属性,而无需更改访问该对象的
应用程序。您还可以在当数据库用户正在数据库中执行操作时,使用
DDL
更改对象的结构。
DDL
语句可以执行以下任务:
•
创建、更改、和删除模式对象和其他数据库结构,包括数据库本身和数据库用户。大部分的
DDL
语句以关键字
CREATE
、
ALTER
、或
DROP
开头。
•
删除模式对象中的所有数据,而不删除这些对象的结构(
TRUNCATE
)。
•
授予和撤消权限和角色(
GRANT
,
REVOKE
)。
•
打开和关闭审核选项(
AUDIT
,
NOAUDIT
)。
•
将注释添加到数据字典(
COMMENT
)。
如下例子使用
DDL
语句来创建
orders
表,插入数据,再使用
DDL
更改表结构、授予和撤消用户在该表上的权
限,然后删除表
:
CREATE TABLE orders
(
orderid INT4 CONSTRAINT pk_orders PRIMARY KEY,
customerid VARCHAR(10) NOT NULL,
orderdate DATE
);
INSERT INTO orders VALUES(100,'KINGBASE','2000-01-01');
ALTER TABLE orders ADD COLUMN employeeid INT4;
GRANT INSERT ON orders TO PUBLIC;
REVOKE INSERT ON orders FROM PUBLIC;
DROP TABLE orders;
在数据库执行
DDL
语句之前会立即执行一个隐式提交,之后立即执行一个提交或回滚。再上面的示例中,
IN
SERT
语句后面跟了一个
ALTER TABLE
语句,因此数据库会提交这个
INSERT
语句。如果
ALTER TABLE
语句
成功,则数据库提交此语句;否则,数据库回滚此语句。在任一情况下
,
这个
INSERT
语句都是已经提交的。