×
新网 > 建站推广 > 正文

oracle如何设置主键?

  • 作者:zccc
  • 来源:网络
  • 2020-07-16 18:04:08

oracle设置主键的方法:1、在创建表时定义主键 ,代码为【constraint TF_B_AIR_CONFIG_PK primary key(TYPE_ID)】;2、在创建表后,使用alter table语法设置主键。oracle设置主键的

oracle设置主键的方法:1、在创建表时定义主键 ,代码为【constraint TF_B_AIR_CONFIG_PK primary key(TYPE_ID)】;2、在创建表后,使用alter table语法设置主键。

oracle设置主键的方法:

一、什么是主键

主键(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。

所谓的复合主键,就是指你表的主键含有一个以上的字段组成。 如果表里没有可以当唯一主键,可以使用复合主键,确定一条记录的唯一性。

二、创建主键两种方式

第一种, 在创建表时定义主键

单列主键示例:

----创建TF_B_AIR_CONFIG表
create table ECS_STORE.TF_B_AIR_CONFIG(
  TYPE_ID            VARCHAR2(20) not null,
  PROVINCE_CODE      VARCHAR2(4) not null,
  PARAMETER_TYPE     VARCHAR2(2) not null,
  LIMIT_NUM          VARCHAR2(4) not null,
  EFFECTIVE_FALG     VARCHAR2(2) default '1',
  UPDATE_TIME        DATE default sysdate,
  constraint TF_B_AIR_CONFIG_PK primary key(TYPE_ID)--单列主键  
)

复合主键示例:

----创建TF_B_AIR_CONFIG表
create table ECS_STORE.TF_B_AIR_CONFIG(
  TYPE_ID            VARCHAR2(20) not null,
  PROVINCE_CODE      VARCHAR2(4) not null,
  PARAMETER_TYPE     VARCHAR2(2) not null,
  LIMIT_NUM          VARCHAR2(4) not null,
  EFFECTIVE_FALG     VARCHAR2(2) default '1',
  UPDATE_TIME        DATE default sysdate,
  constraint TF_B_AIR_CONFIG_PK primary key(TYPE_ID , PROVINCE_CODE)--复合主键  
)

第二种, 在创建表后,使用alter table语法

语法

ALTER TABLE table_name ADD CONSTRAINT constraint_name PRIMARY KEY (col1, col2,...coln);

示例

----创建TF_B_AIR_CONFIG表
create table ECS_STORE.TF_B_AIR_CONFIG(
  TYPE_ID            VARCHAR2(20) not null,
  PROVINCE_CODE      VARCHAR2(4) not null,
  PARAMETER_TYPE     VARCHAR2(2) not null,
  LIMIT_NUM          VARCHAR2(4) not null,
  EFFECTIVE_FALG     VARCHAR2(2) default '1',
  UPDATE_TIME        DATE default sysdate
)
--单列主键  
alter table ECS_STORE.TF_B_AIR_CONFIG add constraint TF_B_AIR_CONFIG_PK primary key (TYPE_ID);  
--联合主键  
alter table ECS_STORE.TF_B_AIR_CONFIG add constraint TF_B_AIR_CONFIG_PK primary key (TYPE_ID , PROVINCE_CODE);

相关学习推荐:oracle数据库学习教程

  • 相关专题

免责声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,也不承认相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,请发送邮件至:operations@xinnet.com进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

免费咨询获取折扣

Loading