1.创建表时:
成都创新互联公司是专业的会泽网站建设公司,会泽接单;提供成都做网站、成都网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行会泽网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
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);
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;
我随便写的,表名和字段名改一下就行了。
alter table HR_OG_ORGPOSITION add primary key (FID) -- 这个创建后由系统自动分配主键名称。
alter table HR_OG_ORGPOSITION add constraint PK_ORGPOSITION primary key (FID); --这个创建后使用你自己定义的名称。
没有什么优劣,只是第二种 如果主键的名字有规律的话,可以通过主键名字知道是那个表的主键。
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;
3
stuid
number(10)
references
t_stu(stuid)
就是这个字段关联t_stu表的stuid字段;
4
couseid
number(10),
5
constraint
fk_couseid
foreign
key(couseid)
6
references
t_couse(couseid)
7
on
delete
cascade);
这个是外键关联,并做同步删除操作,就是如果t_couse表中的某个couseid数据被删除了,那么这张表相关的数据也会自动被删除;跟上面的区别就在于有没有做删除操作;
on
delete
cascade
就是同步删除的意思,比如t_couse表中有个couseid=5,t_score表中也有couseid=5的数据,当删除t_couse表中couseid=5的数据时,t_score表中所有couseid=5的数据也会自动删除;
可以写在同一行,但是要用逗号分格开;
望采纳,码字不容易
工具/材料
SQL Developer
01
首先打开SQL Developer软件,找一个没有主键约束的表,如下图所示
02
然后我们新建一个查询,在界面中输入如下的约束修改语句,如下图所示,主要通过add constranint来添加约束
03
编写完约束添加语句以后,点击工具栏中的执行按钮,如下图所示,如果输出栏显示已变更则证明主键约束创建成果
04
然后我们进入STUDENT表的约束添加页中可以看到,我们加的主键约束已经添加进去了,如下图所示
05
另外,创建表的时候可以直接添加主键约束,如下图所示,直接在表创建语句中添加constraint即可
06
表创建完以后,记得在左侧刷新数据库信息,如下图所示,因为你创建的信息不刷新的话不会更新
07
最后打开你所创建的表,看到你添加的主键约束已经加入进来了,这种方式的效果alter的方式是一样的