191145685 发表于 2018-9-11 10:25:02

Oracle 删除主键

  1、创建表的同时创建主键约束
  (1)无命名
  CREATE TABLE STUDENT(
  STUDENT_ID INT PRIMARY KEY NOT NULL,
  STUDENT_NAME VARCHAR2(8),
  AGE INT);
  (2)有命名
  CREATE TABLE STUDENT (
  STUDENT_ID INT ,
  STUDENT_NAME VARCHAR2(8),
  AGE INT,
  CONSTRAINT PK_STUDENT PRIMARY KEY(STUDENT_ID));
  2、删除表中已有的主键约束
  (1)有命名
  ALTRE TABLE STUDENTS DROP CONSTRAINT PK_STU;
  (2)无命名
  可用 SELECT   *   FROM   USER_CONS_COLUMNS;
  查找表中主键名称得STUDENT表中的主键名为SYS_C002715
  ALTER TABLE STUDENT DROP CONSTRAINT SYS_C002715;
  注:删除之前要查询一下这个主键是否被其他表引用为外键,如果有被其他表引用为外键,则需要先把其他表的外键删除后才能将主键删除。
  3、向表中添加主键约束
  ALTER TABLE STUDENT ADD CONSTRAINT PK_STUDENT PRIMARY KEY(STUDENT_ID);

页: [1]
查看完整版本: Oracle 删除主键