精华内容
下载资源
问答
  • 2021-04-30 11:39:15

    需求:现在有张表中是联合主键,但是现在要改成只有一个字段是主键。

    解决方法:先删除这张表的联合主键,再重新创建这张表的主键,sql测试脚本如下

    --创建测试表

    create table test_wxh(

    t_id number(16) not null,

    t_name varchar2(256),

    t_my_id number(16) not null

    )

    --添加联合主键

    alter table test_wxh

    add constraint PK_test_wxh primary key (t_id, t_my_id);

    --表中插入数据

    select * from test_wxh for update

    --去掉联合主键,再添加一个主键

    ALTER TABLE test_wxh drop constraint PK_test_wxh;

    --再添加一个主键

    alter table test_wxh

    add constraint PK_test_wxh primary key (t_id);

    更多相关内容
  • 本节文章主要介绍了oracle删除主键查看主键约束及创建联合主键,示例代码如下,需要的朋友可以参考下
  • ⑤语法: 1.StudentID int not null primary key 创建学生编号为主键 2.primary key(Students) 创建学生编号为主键 3.primary key(StudentID,Email) 创建学生ID和Email为联合主键 ⑥为已存在的列创建主键 1.alter ...

    1.not null 非空约束

    ①强制列不接受空值

    ②例:创建表时,name varchar(6) not null,

    2.unique 唯一性约束

    ①约束唯一标识数据库表中的每条记录

    ②unique和primary key都为数据提供了唯一性约束

    ③primary key 拥有自动定义的Unique约束

    ④注意:每个表中只能有一个primary key约束,但是可以有多个Unique约束

    ⑤语法:

    1.name int unique

    2.unique(column_name)

    3.CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName) 添加多个约束

    4.alter table table_name add unique(column_name) 增加表中的约束

    5.ALTER TABLE table_name DROP CONSTRAINT 主键名 删除约束

    3.primary key约束

    ①约束唯一标识数据库表中的每条记录

    ②主键必须包含唯一的值

    ③主键列不能为空

    ④每个表都应该有个主键,但只能有一个主键

    ⑤语法:

    1.StudentID int not null primary key 创建学生编号为主键

    2.primary key(Students) 创建学生编号为主键

    3.primary key(StudentID,Email) 创建学生ID和Email为联合主键

    ⑥为已存在的列创建主键

    1.alter table table_name add primary key(column_name)

    ⑦删除主键约束

    1.alter table table_name drop primary key

    ⑧删除主键约束

    1.alter table table_name drop constraint 主键约束名 主键约束名可以使用sp_help查询

    4.foreign key约束

    ①一个表中的foreign key 指向另一个表的primary key

    ②foreign key约束用于预防破坏表之间连接的动作

    ③foreign key约束也能防止非法数据插入外键列,因为它必须是指向的那个表的值之一

    ④语法:

    1.foreign key (column_name) references 主表名(主键列名) 创建column_name为主表名的外键

    2.column_name int foreign key references 主表名(主键列名) 创建column_name为主表名的外键

    3.alter table table_name

    add foreign key (列名) references 主表名(主键列名) 为已存在的列创建外键

    4.alter table table_name drop constraint 外键约束名 删除外键约束(SQL Server oracle)

    5.alter table table_name drop foreign key 外键约束名 删除外键约束(Mysql)

    5.check 约束

    ①check约束用于限制列中的值的范围

    ②如果对个单个列做check约束,那么该列只可以输入特定数值

    ③如果一个表定义check约束,那么此约束会在特定的列对值进行限制

    ④语法:

    1.StudentID int not null check (StudentID>0) 限制StudentID输入的值要大于0 (SQL Server oracle)

    2.StudentID int not null, 限制StudentID输入的值要大于0 (Mysql)

    check (StudentID>0)

    3.sex varchar(2) not null check(sex='男' or sex='女') 限制sex的性别只能是男或者女

    4.alter table table_name add check(列名>0) 向已有的列加入check约束

    5.alter table table_name drop constraint check约束名 删除约束 约束名可以用 sp_help table_name查看

    6.default约束

    ①default约束用于向列中插入默认值

    ②如果没有规定其他的值,那么会将默认值添加到所有的新记录中

    ③语法:

    1.name varchar(10) default '张三' name默认插入张三的名字

    2.systime date default gatedate() 插入时间的默认值 getetime()函数为时间的默认值

    3.alter table table_name add 列名 set default '数值' 向已有列名中插入默认值

    4.alter table table_name drop constraint 约束名 删除默认约束

    */

    ————————————————

    版权声明:本文为CSDN博主「z120270662」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

    原文链接:https://blog.csdn.net/z120270662/java/article/details/79501621

    展开全文
  • Oracle查看主键、删除主键以及新增联合主键 主键是用于唯一标识表中的每一条数据的,不能重复也不能为null。一个表中不能有多个独立的主键,但是一个表中可以有联合主键(即多个字段组合)。 一、查看主键 ...

    Oracle查看主键、删除主键以及新增联合主键

    主键是用于唯一标识表中的每一条数据的,不能重复也不能为null。一个表中不能有多个独立的主键,但是一个表中可以有联合主键(即多个字段组合)。

    一、查看主键

    SELECT * FROM USER_CONSTRAINTS WHERE CONSTRAINT_TYPE='P' AND TABLE_NAME='你要查看的表名'  AND OWNER=USER;
    

    二、删除主键

    ALTER TABLE TABLENAME DROP CONSTRAINT PK_TABLENAME;  //TABLENAME --你要删除主键的表名  PK_TABLENAME --你要删除主键的主键名

    三、新增联合主键

    ALTER TABLE TABLENAME ADD CONSTRAINTS '主键名' PRIMARY KEY (COLUMN,COLUMN,...);  //TABLENAME --你要新增主键的表名  COLUMN --你要新增主键的字段名
    

     

    展开全文
  • oracle数据库联合主键

    2021-05-02 01:29:21
    ⑤语法: 1.StudentID int not null primary key 创建学生编号为主键 2.primary key(Students) 创建学生编号为主键 3.primary key(StudentID,Email) 创建学生ID和Email为联合主键 ⑥为已存在的列创建主键 1.alter ...

    1.not null 非空约束

    ①强制列不接受空值

    ②例:创建表时,name varchar(6) not null,

    2.unique 唯一性约束

    ①约束唯一标识数据库表中的每条记录

    ②unique和primary key都为数据提供了唯一性约束

    ③primary key 拥有自动定义的Unique约束

    ④注意:每个表中只能有一个primary key约束,但是可以有多个Unique约束

    ⑤语法:

    1.name int unique

    2.unique(column_name)

    3.CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName) 添加多个约束

    4.alter table table_name add unique(column_name) 增加表中的约束

    5.ALTER TABLE table_name DROP CONSTRAINT 主键名 删除约束

    3.primary key约束

    ①约束唯一标识数据库表中的每条记录

    ②主键必须包含唯一的值

    ③主键列不能为空

    ④每个表都应该有个主键,但只能有一个主键

    ⑤语法:

    1.StudentID int not null primary key 创建学生编号为主键

    2.primary key(Students) 创建学生编号为主键

    3.primary key(StudentID,Email) 创建学生ID和Email为联合主键

    ⑥为已存在的列创建主键

    1.alter table table_name add primary key(column_name)

    ⑦删除主键约束

    1.alter table table_name drop primary key

    ⑧删除主键约束

    1.alter table table_name drop constraint 主键约束名 主键约束名可以使用sp_help查询

    4.foreign key约束

    ①一个表中的foreign key 指向另一个表的primary key

    ②foreign key约束用于预防破坏表之间连接的动作

    ③foreign key约束也能防止非法数据插入外键列,因为它必须是指向的那个表的值之一

    ④语法:

    1.foreign key (column_name) references 主表名(主键列名) 创建column_name为主表名的外键

    2.column_name int foreign key references 主表名(主键列名) 创建column_name为主表名的外键

    3.alter table table_name

    add foreign key (列名) references 主表名(主键列名) 为已存在的列创建外键

    4.alter table table_name drop constraint 外键约束名 删除外键约束(SQL Server oracle)

    5.alter table table_name drop foreign key 外键约束名 删除外键约束(Mysql)

    5.check 约束

    ①check约束用于限制列中的值的范围

    ②如果对个单个列做check约束,那么该列只可以输入特定数值

    ③如果一个表定义check约束,那么此约束会在特定的列对值进行限制

    ④语法:

    1.StudentID int not null check (StudentID>0) 限制StudentID输入的值要大于0 (SQL Server oracle)

    2.StudentID int not null, 限制StudentID输入的值要大于0 (Mysql)

    check (StudentID>0)

    3.sex varchar(2) not null check(sex='男' or sex='女') 限制sex的性别只能是男或者女

    4.alter table table_name add check(列名>0) 向已有的列加入check约束

    5.alter table table_name drop constraint check约束名 删除约束 约束名可以用 sp_help table_name查看

    6.default约束

    ①default约束用于向列中插入默认值

    ②如果没有规定其他的值,那么会将默认值添加到所有的新记录中

    ③语法:

    1.name varchar(10) default '张三' name默认插入张三的名字

    2.systime date default gatedate() 插入时间的默认值 getetime()函数为时间的默认值

    3.alter table table_name add 列名 set default '数值' 向已有列名中插入默认值

    4.alter table table_name drop constraint 约束名 删除默认约束

    */

    ————————————————

    版权声明:本文为CSDN博主「z120270662」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

    原文链接:https://blog.csdn.net/z120270662/java/article/details/79501621

    展开全文
  • Oracle数据库联合主键

    2021-05-04 05:55:02
    1、定义:主键:在Oracle中,主键指能唯一标识一条记录的单个数据表列或联合的数据表列(联合主键|复合主键)。主键用到的数据 表列数据不能包含空值。而且,一张表只能包含一个主键。2、作用:数据表的联合主键组合不...
  • Oracle主键保证了单条记录的唯一性,设置了主键的表在插入数据的时候比没有设置主键的表速度更快一些,在给某一张表设置或者更改主键之前,先检查下当前表时候已经设置了主键,可以按照如下步骤进行操作 1、查询某个...
  • oracle 主键删除联合主键的创建

    万次阅读 2014-07-23 19:16:20
    1,主键删除  ALTER TABLE TABLENAME DROP PRIMARY_KEY 执行上面的SQL可以删除主键;如果不成功可以用 ALTER TABLE TABLENAME DROP CONSTRAINTS COLUMN CASCADE; --删除约束 ALTER TABLE TABLENAME DISABLE...
  • ---去重 select XK_XDR_MC, XK_LYDWDM, XK_XKJGDM, XK_WSH, XK_JDRQ, XK_XKBH, count(1) from T_XZxks group by XK_XDR_MC, XK_LYDWDM, ...--删除重复 delete from T_XZxks where rowid not in( select max(rowid)...
  • Oracle联合主键

    2021-05-07 12:44:17
    设置Distribution clean up 每次删除Command的数量 Replication Job “Distribution clean up: distribution” 默认设置是,每10minutes运行一次,每次删除2000个Command.这对于有1.9亿 ... Woodbury matrix identity...
  • Oracle添加主键删除主键、修改主键

    万次阅读 多人点赞 2019-04-01 16:48:43
    二、回归主题,主键的添加、删除等操作 1.有命名主键 1)有命名主键的添加 2)有命名主键删除 3)有命名主键的修改 2.无命名主键 1)无命名主键的创建 2)无命名主键删除 3)无命名主键的修改 附加: ...
  • [code]C:\\Documents and Settings\\...sqlplus / as sysdbaSQL*Plus: Release 10.2.0.1.0 - Production on 星期一 8月 20 11:05:43 2012Copyright (c) 1982, 2005, Oracle. All rights reserved.连接到:Or...
  • 问题描述:根据表主键id删除一条数据,在PL/SQL上执行commit后执行时间都大于5秒。!!!问题分析:需求是删除一个主表A,另有两个附表建有此表的主键ID的外键。删除A表的数据级联删除另两个表的关联数据。增删改查...
  • (一)主键的定义可以唯一标识一行数据,主键由一列或多列组成。这些列要求非空且唯一。(二)测试--创建一个表,并设置一个组合主键drop table TEST_CON;create table TEST_CON(id int,name varchar2(20),description ...
  • 2、删除表中已有的主键约束 (1)无命名 可用 SELECT * from user_cons_columns; 查找表中主键名称得student表中的主键名为SYS_C002715 alter table student drop constraint SYS_C002715; (2)有命名 alter table...
  • 以下的文章主要是对Oracle主键Oracle外键的实际应用方案的介绍,此篇文章是我很然偶在一网站上发现的,如果你对Oracle主键Oracle外键的实际应用很感兴趣的话,以下的文章就会给你提供更详细的相关方面的知识。...
  • 在每次插入新记录时,自动地创建主键字段的值。 MySQL 的语法 CREATE TABLE Persons ( P_Id int not null auto_increment, LastName varchar(255) NOT NULL, FirstName varchar(255), Address varchar(255), City ...
  • 假设现在需要在联合主键中增加一个字段SO_COMPANY_CDE,刚开始的做法是删除主键约束,再重新创建联合主键 alter table CBS_AG_CNTR_MTHD drop CONSTRAINT PK_CBS_AG_CNTR_MTHD cascade; --确认约束和索引的删除...
  • 1.联合主键 联合主键:表的主键是由多个字段构成的,称为“联合主键”。 联合主键的约束:构成联合主键的每个字段的值可以重复,但是组合在一起不能重复 例如:下面的sc表中的S#和C#两个字段构成了联合主键,此时会...
  • 一、主键唯一约束我们知道当某列为主键时,Oracle会自动将此列创建唯一约束。也就是说不允许有相同的值出现。如:CREATE TABLE T(ID NUMBER,NAME VARCHAR2(10),constraint t_pk primary key (ID));table T 已创建。...
  • oracle修改主键方法

    千次阅读 2020-11-27 18:22:03
    step1:删除已建好的主键 alter table [表名] drop primary key --有主键主键约束名的情形 alter table [表名] drop constraint [主键约束名] --有主键约束名的情形 step2:重新新建主键 alter table add primary ...
  • create table b( field1 varchar2(50), field2 varchar2(50) ...ALTER TABLE b ADD CONSTRAINT pk_b PRIMARY KEY (field1,field2) ;... alter table b drop column field2 cascade constraints
  • -- 建表语句 create table KECHENG ( ID NUMBER, ... -- 根据id,删除重复数据 delete from KECHENG a where a.rowid>(select min(b.rowid) from KECHENG b where b.ID=a.ID); COMMIT; -- 查看 select * from KECHENG;
  • Oracle 添加主键和索引

    千次阅读 2021-05-08 00:35:31
    数据的主键和索引一般情况下都是必须的,特别是表有大量数据的时候,索引和主键更是必不可少,这样可以提供数据的查询效率;一、创建表的同时创建主键约束(1)无命名create table student (studentid int primary key...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,960
精华内容 6,384
关键字:

oracle删除联合主键