日期:2014-05-17  浏览次数:20883 次

用sqlplus建表的时候怎么建立一个有2个字段联合做主键的表?
比如:
create table config
(
name varchar2(20) primary key,
value varchar2(200),
configname varchar2(20) primary key
)
也就是说我要拿name和configname联合做主键,这样的建表命令该如何写?
大哥大姐们多多指教. 在此小弟先谢谢了.

------解决方案--------------------
create unique index 名称 on 表名 (字段1,字段2.....)
引用楼主 dahai99007 的帖子:
比如:
create table config
(
name varchar2(20) primary key,
value varchar2(200),
configname varchar2(20) primary key
)
也就是说我要拿name和configname联合做主键,这样的建表命令该如何写?
大哥大姐们多多指教. 在此小弟先谢谢了.

------解决方案--------------------
SQL code
create table config 
( 
name varchar2(20), 
value varchar2(200), 
configname varchar2(20),
PRIMARY KEY(NAME,configname)
)

------解决方案--------------------
关键字是不能作为列名的
------解决方案--------------------
oracle联合主键的写法不是这样的
SQL code
create table config 
( 
name varchar2(20) primary key, 
value varchar2(200), 
configname varchar2(20) primary key 
)

------解决方案--------------------
探讨
谢谢楼上的哥们了,还有个问题比如说:
create table config
(
name varchar2(20),
value varchar2(200),
configname varchar2(20),
comment varchar2(20),
PRIMARY KEY(NAME,configname)
)
这个comment是个关键字,像sqlserver那样[comment]会报错,这该怎么办呢?

------解决方案--------------------
create table config 

t_name varchar2(20), 
t_value varchar2(200), 
t_configname varchar2(20),
t_comment varchar2(20),
PRIMARY KEY(t_name,t_configname)


不要拿关键字来做字段!