oracle如何建立主键 oracle添加主键

Oracle如何添加主键约束

工具/材料

公司主营业务:成都网站设计、网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联推出门头沟免费做网站回馈大家。

SQL Developer

01

首先打开SQL Developer软件,找一个没有主键约束的表,如下图所示

02

然后我们新建一个查询,在界面中输入如下的约束修改语句,如下图所示,主要通过add constranint来添加约束

03

编写完约束添加语句以后,点击工具栏中的执行按钮,如下图所示,如果输出栏显示已变更则证明主键约束创建成果

04

然后我们进入STUDENT表的约束添加页中可以看到,我们加的主键约束已经添加进去了,如下图所示

05

另外,创建表的时候可以直接添加主键约束,如下图所示,直接在表创建语句中添加constraint即可

06

表创建完以后,记得在左侧刷新数据库信息,如下图所示,因为你创建的信息不刷新的话不会更新

07

最后打开你所创建的表,看到你添加的主键约束已经加入进来了,这种方式的效果alter的方式是一样的

oracle创建联合主键

1.创建表时:

create table table_name

(

first_name varchar2(12),

second_name varchar2(10),

idcard varchar(36),

home_name varchar(66),

constraint pk_table_name primary key(first_name,second_name,idcard) -- 联合主键

);

2.创建表之后追加联合主键

alter table table_name add constraint pk_table_name primary key (first_name,second_name);

oracle建主键需要什么权限

一、权限分为系统权限及对象权限。

1、系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。

1)、DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。

2)、RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。

3)、CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。

对于普通用户:授予connect, resource权限。

对于DBA管理用户:授予connect,resource, dba权限。

2、对象权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。

CREATE SESSION,创建会话,才可以打开界面

CREATE TABLE,创建表,可创建空表,但没有权限插入数据

CREATE SEQUENCE创建序列

CREATE VIEW,创建视图

oracle一个表中没有主键怎么设置主键

1.先清理现有的数据并规划只能一个主键,或者考虑组合主键(即ID列与另一个关键列组合成主键)

2.通过SQL增加主键:alter

table

tabname

add

constraint

tabname_pk

primary

key

(id)

enable

validate;

组合键:alter

table

tabname

add

constraint

tabname_pk

primary

key

(id,另一列名)

enable

validate;

Oracle创建主键问题

其实ORACLE创建

主键

上面的两种方式都可以,如何使用也看个人的选择了,毕竟建立主键是针对表的操作,而不像在表中大批量的查询数据,所以性能方面的问题倒是不用过多考虑。

我个人更倾向于第二种,因为第二种方式的语句更清晰,它的作用是修改表结构,添加一个约束,PK一般都

主键

的前缀,表明了这个约束是为一个列添加主键,同样还可以使用FK来建立

外键

的约束或者

check约束

等都可通过第二条语句的方式来实现!~

oracle 怎么新建主键!

1.先建一个序列:

-- Create sequence 

create sequence auto_id

minvalue 1

maxvalue 9999999999999

start with 1

increment by 1

cache 10;

2.创建触发器:

create or replace trigger auto_col_trigger

before insert on auto_tab

for each row

declare

v_id number := 0;

begin

select auto_id.nextval into v_id from dual;

:new.id := v_id;

end;

我随便写的,表名和字段名改一下就行了。


分享题目:oracle如何建立主键 oracle添加主键
URL地址:http://myzitong.com/article/hpjjse.html