oracle在建表时如何指定主键的索引名和主键的表空间
例如建1个表:createtabletmp(MONVARCHAR2(6),IDNOVARCHAR2(10),primarykey(MON,IDNO));oracle会自动...
例如建1个表:
create table tmp(
MON VARCHAR2(6) ,
IDNO VARCHAR2(10) ,
primary key ( MON, IDNO )
) ;
oracle会自动给主键起个索引名,但我想自己指定主键的索引名,
而且我想指定主键所在的表空间为index_stat
那么上面的语句应该怎么改?
下面这种语句也想这样,应该怎么改?
create table tmp(
MON VARCHAR2(6) primary key ,
IDNO VARCHAR2(10) primary key
) ; 展开
create table tmp(
MON VARCHAR2(6) ,
IDNO VARCHAR2(10) ,
primary key ( MON, IDNO )
) ;
oracle会自动给主键起个索引名,但我想自己指定主键的索引名,
而且我想指定主键所在的表空间为index_stat
那么上面的语句应该怎么改?
下面这种语句也想这样,应该怎么改?
create table tmp(
MON VARCHAR2(6) primary key ,
IDNO VARCHAR2(10) primary key
) ; 展开
5个回答
推荐于2016-08-01
展开全部
在创建表时,只能指定主键与唯一键的索引表空间,其它类型的索引,只能通过CREATE INDEX/ALTER INDEX来指定。
参考如下:
create table test1
(id number(10),
name varchar2(20),
age number(3),
constraint pk_test1 primary key(id) using index tablespace tbs_ind
)
tablespace tbs_cur;
参考如下:
create table test1
(id number(10),
name varchar2(20),
age number(3),
constraint pk_test1 primary key(id) using index tablespace tbs_ind
)
tablespace tbs_cur;
展开全部
假设你的表空间index_stat 用户名称为scott
create table scott.tmp(
MON VARCHAR2(6) ,
IDNO VARCHAR2(10) ,
primary key ( MON, IDNO )
) ;
自动生成的那个索引好像是不能改的,不过你可以给主键指定新的索引,语法如下:
alter table 表名 add constraints 索引名 primary key using index ...
或者直接使用create语句,例子如下:
create unique index tmp_PK on scott.tmp (
MON ASC,
IDNO ASC
);
create table scott.tmp(
MON VARCHAR2(6) ,
IDNO VARCHAR2(10) ,
primary key ( MON, IDNO )
) ;
自动生成的那个索引好像是不能改的,不过你可以给主键指定新的索引,语法如下:
alter table 表名 add constraints 索引名 primary key using index ...
或者直接使用create语句,例子如下:
create unique index tmp_PK on scott.tmp (
MON ASC,
IDNO ASC
);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
create table tmp(
MON VARCHAR2(6) ,
IDNO VARCHAR2(10)
);
alter table tmp
add constraint PK_tmp primary key ( MON, IDNO )
using index
tablespace index_stat
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
MON VARCHAR2(6) ,
IDNO VARCHAR2(10)
);
alter table tmp
add constraint PK_tmp primary key ( MON, IDNO )
using index
tablespace index_stat
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我想不用那么麻烦吧!
两个都一样:
create table tmp(
MON VARCHAR2(6) ,
IDNO VARCHAR2(10) ,
constraint pk_tmp primary key ( MON, IDNO )
using index tablespace index_stat
) ;
两个都一样:
create table tmp(
MON VARCHAR2(6) ,
IDNO VARCHAR2(10) ,
constraint pk_tmp primary key ( MON, IDNO )
using index tablespace index_stat
) ;
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
重新发贴
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询