`
huanglei7211
  • 浏览: 13277 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

oracle添加主键

阅读更多
转载自:http://www.anbob.com/?p=137

根据数据库三范式就是每个表建议要有主键,每个字段不可再分,表与之间不存在部分依赖

数据库的优化首先考虑的也是主键

主键会在对应的字段加唯一约束、加not null,建 索引

怎么为表加主键呢

1,建表同时

SQL> create table test13 (id int primary key);

Table created.

2,建表后加字段时

SQL> alter table test12 add id2 int primary key;

Table altered.
3,主键字段存在时

SQL> select constraint_name from user_constraints where table_name=’TEST12′;

CONSTRAINT_NAME
————————————————————
SYS_C0010610

SQL> alter table test12 drop constraint SYS_C0010610
2  ;

Table altered.

SQL> alter table test12 add id1 int;

Table altered.

SQL> alter table test12 add constraint pk_id1_t12  primary key(id1);

Table altered.

完成!

ps:如果在要加主键的字段的值中有空值或不唯一,就会报错,有空值时报

SQL> alter table test12 add constraint pk_id1_t12  primary key(id1);
alter table test12 add constraint pk_id1_t12  primary key(id1)
*
ERROR at line 1:
ORA-01449: column contains NULL values; cannot alter to NOT NULL
分享到:
评论

相关推荐

    oracle批量添加主键

    本篇文章将详细讲解如何在Oracle数据库中批量添加主键。 首先,我们可以通过SQL查询来找出所有没有主键的表。以下是一个示例查询: ```sql SELECT table_name FROM user_tables a WHERE NOT EXISTS ( SELECT * ...

    oracle中添加删除主键的方法

    删除主键可能会导致引用此主键的外键约束失效,而添加主键可能需要对已有数据进行检查,确保它们满足主键的唯一性要求。在执行这些操作前,最好先备份数据,以防止可能出现的意外情况。 通过理解并熟练掌握这些命令...

    powerdesigner创建oracle_数据库表,设置表主键列为自动增长

    ### PowerDesigner 创建 Oracle 数据库表并设置主键自动增长 #### 一、PowerDesigner与Oracle数据库集成概述 PowerDesigner是一款强大的数据库设计工具,它能够帮助开发者进行数据建模、概念设计以及物理数据库的...

    Oracle中主键自增实例

    在Oracle数据库系统中,主键(Primary Key)是表中的一个或一组字段,它们的值在整张表中是唯一的,用于唯一标识每一条记录。然而,与MySQL等其他数据库不同,Oracle并没有内置的自动递增(auto-increment)功能来...

    OracleGoldenGate针对表没有主键或唯一索引的解决方案[归类].pdf

    Oracle GoldenGate 针对表没有主键或唯一索引的解决方案 Oracle GoldenGate 是一种 数据复制和集成工具,用于在不同的数据库管理系统之间复制和集成数据。然而,在使用 Oracle GoldenGate 复制事务数据时,如果表...

    24.Oracle的主键和外键1

    2. **修改已存在的表添加主键**:使用ALTER TABLE语句添加`CONSTRAINT`并指定主键。 接着,我们来看外键。外键是用来连接两个表的字段,它引用了另一个表(主表)的主键,以建立两个表之间的关联。外键的作用在于:...

    浅谈MyBatis-Plus学习之Oracle的主键Sequence设置的方法

    - **pom.xml**:添加Oracle JDBC驱动的依赖,由于授权问题,可能需要从Oracle官网下载后本地安装。 ```xml <groupId>com.oracle</groupId> <artifactId>ojdbc14 <version>10.2.0.4.0 ``` - **db....

    oracle建表练习(主键外键)

    在本次Oracle建表练习中,我们将会重点讨论建表时使用的主键(Primary Key)和外键(Foreign Key)概念。 首先,我们来详细了解一下主键的概念。主键是数据库表中每一行记录的唯一标识,它保证了表中的每条记录都能...

    oracle创建表空间、表、主键、外键、序列

    如果后来想添加主键,可以使用`ALTER TABLE`语句: ```sql ALTER TABLE 表名 ADD CONSTRAINT 主键约束名 PRIMARY KEY (列名); ``` 4. 外键: 外键用于在两个表之间建立关系,确保引用完整性。创建外键的语法如下:...

    oracle设置主外键即主键序列自动增长

    ### Oracle 设置主外键及主键序列自动增长 在Oracle数据库管理系统中,为了确保数据的一致性和完整性,经常需要设置主键(Primary Key)和外键(Foreign Key)。此外,为了方便管理和操作,通常还会使用序列...

    oracle约束

    详细介绍了oracle的常见约束,表级约束(主键),列级约束,唯一性约束,外键约束,并介绍了如何给相应的约束命名

    Oracle复制表数据的两种用法

    如果`table2`已经存在,`CTAS`会失败,除非你添加`OR REPLACE`选项。 在提供的"测试插入.sql"文件中,可能包含了使用这些语句的实际示例。通常,这样的脚本会包含一系列的`INSERT INTO SELECT`或`CTAS`命令,用于从...

    oracle_创建表空间、表、主键、外键、序列.docx

    在Oracle数据库管理系统中,创建表空间、表、主键、外键和序列是数据库设计的基础操作。以下是对这些概念的详细解释以及如何在Oracle中执行这些操作。 **创建表空间** 表空间是Oracle数据库中存储数据文件的地方。...

    Oracle创建主键自增表(sql语句实现)及触发器应用

    在Oracle数据库中,创建主键自增表以及利用触发器实现这一功能是常见的操作,尤其在需要维护唯一标识符的场景下。以下是对这个过程的详细解释: 首先,我们来看如何创建一个包含自增主键的表。在Oracle中,与MySQL...

    Oracle判断表、列、主键是否存在的方法

    -- 添加主键约束的语句 END IF; END; ``` 4. **判断Oracle表是否存在外键的方法**: 同样,通过`USER_CONSTRAINTS`视图,但这次查找`constraint_type = 'R'`(表示引用约束,即外键)和特定的约束名称: ```...

    Oracle数据库中主键的智能生成.pdf

    在Oracle数据库中,主键是表的一个或多个字段,用于唯一标识表中的每一条记录,确保数据的完整性和一致性。由于Oracle数据库不直接支持类似Access或SQL Server中的自增字段,因此在Oracle中生成主键通常需要利用序列...

    oracle主键和外键[文].pdf

    在Oracle数据库中,主键和外键是关系型数据库中非常重要的概念,它们用于确保数据的一致性和完整性。主键是定义在一个表中用来唯一标识每一行的字段,而外键则是另一个表中的字段,它引用了主键来建立两个表之间的...

    使用ODI处理没有主键的表全攻略

    在数据集成和ETL(提取、转换、加载)过程中,Oracle Data Integrator (ODI) 是一个强大的工具,但在处理没有主键的表时,ODI面临一些挑战。主键是数据库中用于唯一标识记录的关键字段,但在某些业务系统中,如...

    Oracle中创建表,创建序列,创建自增字段,添加注释, 添加记录,添加触发器,提交

    Oracle 中创建表、序列、自增字段、添加注释、添加记录、添加触发器、提交的知识点总结 Oracle 中创建表是指在 Oracle 数据库中创建一个新的表结构,以存储特定的数据。在创建表时,需要指定表的名称、字段名称、...

Global site tag (gtag.js) - Google Analytics