首页 > 开发 > 综合 > 正文

如何将primary key建在其它的表空间上

2024-07-21 02:36:21
字体:
来源:转载
供稿:网友

  系统环境:
  1、操作系统:windows 2000
  2、数据库: Oracle 8i R2 (8.1.6) for NT 企业版
  3、安装路径:C:/ORACLE
  
  实现方法:
  
  利用using index子句实现
  
  conn system/manager
  
  --创建实验表空间
  create tablespace test datafile
  'c:/test.ora' size 5M
  AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED
  default storage (initial 128K next 1M pctincrease 0)
  /
  
  create tablespace test1 datafile
  'c:/test1.ora' size 5M
  AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED
  default storage (initial 128K next 1M pctincrease 0)
  /
  
  --创建实验用户
  drop user test cascade;
  create user test identified by test default tablespace test;
  grant connect,resource to test;
  conn test/test
  
  --创建实验表1
  create table a(a number PRimary key);
  
  col 用户名 format a10
  col 约束名称 format a15
  col 约束类型 format a10
  col 表名 format a10
  col 列名 format a10
  col 约束内容 format a20
  
  select a.OWNER 用户名,
  a.CONSTRAINT_NAME 约束名称,
  a.CONSTRAINT_TYPE 约束类型,
  a.TABLE_NAME 表名,
  b.COLUMN_NAME 列名,
  a.SEARCH_CONDITION 约束内容
  from USER_CONSTRAINTS a,USER_CONS_COLUMNS b
  where a.CONSTRAINT_NAME=b.CONSTRAINT_NAME;
  
  用户名 约束名称 约束类型 表名 列名 约束内容
  ---------- --------------- ---------- ---------- ---------- ---------
  TEST SYS_C001232 P A A
  
  
  col table_owner format a15
  col table_name format a15
  col index_name format a15
  col tablespace_name format a15
  
  select table_owner,table_name,index_name,tablespace_name from user_indexes;
  
  TABLE_OWNER TABLE_NAME INDEX_NAME TABLESPACE_NAME
  --------------- --------------- --------------- ---------------
  TEST A SYS_C001232 TEST
  
  
  --创建实验表2
  create table b
  (
  b number constraint pr_b
  primary key
  using index
  tablespace test1
  );
  
  select a.OWNER 用户名,
  a.CONSTRAINT_NAME 约束名称,
  a.CONSTRAINT_TYPE 约束类型,
  a.TABLE_NAME 表名,
  b.COLUMN_NAME 列名,
  a.SEARCH_CONDITION 约束内容
  from USER_CONSTRAINTS a,USER_CONS_COLUMNS b
  where a.CONSTRAINT_NAME=b.CONSTRAINT_NAME;
  
  用户名 约束名称 约束类型 表名 列名 约束内容
  ---------- --------------- ---------- ---------- ---------- -----------
  TEST PR_B P B B
  TEST SYS_C001232 P A A
  
  select table_owner,table_name,index_name,tablespace_name from user_indexes;

  
  TABLE_OWNER TABLE_NAME INDEX_NAME TABLESPACE_NAME
  --------------- --------------- --------------- ---------------
  TEST B PR_B TEST1
  TEST A SYS_C001232 TEST

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表