使用CREATE语句创建新的数据库对象

  • 创建的数据库对象包括

    • 缓冲池
    • 事件监听器
    • 函数
    • 索引
    • 模式
    • 存储过程
    • 表空间
    • 触发器
    • 视图

    每当用户创建数据库对象时,都会更新系统目录。

CREATE TABLE student(
  stdid INTEGER NOT NULL,
  name VARCHAR(5),
  local VARCHAR(13)
) 

使用DECLARE语句生成新的数据库对象

  • 用DECLARE创建的是只能在数据库连接期间存在的临时表。当要用到中间结果时,临时表很有用。
  • 声明的表可以被引用、修改和删除。
  • 表是唯一一个可以被声明的数据库对象。
  • 当用户声明临时表时,系统目录不会被更新。
DECLARE GLOBAL TEMPORORY TABLE session.temp1
  LIKE employee
  ON COMMIT PRESERVE ROWS
  NOT LOGGED
 IN mytempspace
  • DECLARE GLOBAL TEMPRORY TABLE声明一个临时表
  • temp1为表名,列名同employee
  • mytempspace为临时表空间(用户的临时表空间必须存在)
  • 每当处理COMMIT语句时,临时表中的行就会被保留下来(不会被删除)
  • session为模式,临时表必须由模式名显示限定,因为每个定义声明过的表的会话对该临时表都有自己的(可能是唯一的)描述

使用ALTER语句来改变数据库对象

  • ALTER语句可以用来改变现有数据库对象的一些特性,包括:

    • 缓冲池
    • 模式
    • 表空间
    • 触发器
    • 视图

不可以修改索引,如果想要改变索引,那么必须删除它然后用不同的定义创建一个新的。

   ALTER TABLE org
     ADD state char(2)

使用DROP语句来去掉数据库对象

可以删除任何CREATE和DECLARE语句创建的对象。

DROP TABLE org

DROP语句从系统目录中删除对象的定义,所以也从数据库本身中删除了表。数据库对象可能会依赖其他的数据库对象,所以删除对象可能会使有关的对象变成无效的。

标签: none

添加新评论