使用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

添加新评论