查看另一个表空间内的表的数据

时间:2019-01-31 06:20:40

标签: sql db2

我在EMPLOYEE模式中有一个表EMPLOYEE,它在默认用户表空间USERSPACE1中。

我现在使用以下命令创建了一个新的表空间:

CREATE TABLESPACE HQ

然后我以以下方式使用ADMIN_MOVE_TABLE命令将表复制到新表空间中

CALL SYSPROC.ADMIN_MOVE_TABLE('EMPLOYEE' , 'EMPLOYEE' , 'HQ' , 'HQ' , 'HQ' , '', '', '', '', '', 'MOVE')

运行此命令后,状态显示为COMPLETE

现在,我运行以下命令来检查我的表是否已复制到新表空间中:

select TABSCHEMA, TABNAME, TBSPACEID, TBSPACE from syscat.tables

这确实显示我的EMPLOYEE表空间内EMPLOYEE表里面HQ架构。

我现在有几个查询:

  1. 我插入一个新的记录到EMPLOYEE.EMPLOYEE表。新记录在USERSPACE1表空间或HQ表空间中插入哪里
  2. 如何查看两个表空间内的EMPLOYEE.EMPLOYEE表中的记录?

1 个答案:

答案 0 :(得分:3)

让我们从高层次开始一些基本知识:

  • 模式类似于逻辑目录或文件夹。
  • 表空间正在提供存储空间(它可以分布在多个磁盘上)。
  • 表中包含的数据具有相同的结构,并且需要位于模式中。表数据存储在表空间中。 (它要复杂得多,但是...)

回到您的问题:

如果表将其数据存储在HQ表空间中,则其所有数据都在该空间中。因此,您可以看到来自所有表空间的所有数据,它们是一个表空间。