首页  编辑  

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

Tags: /超级猛料/Database.数据库相关/Oracle/SQL技巧/   Date Created:

【点击: 18322 】 阿木伯 著  

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

系统环境:

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

【最后更新: 06/03/2002 11:21:10 】