1.创建联合主键
有命名--已建表时的创建
alter table ALL_TYPES_ORACLE1 add constraint pk_types1 primary key (ID,"varchar2");
有命名--未建表时的创建
CREATE TABLE table_test(
id INT NOT NULL, --注意:主键必须非空
name VARCHAR(20) NOT NULL,
address VARCHAR(20),
constraint yy PRIMARY KEY(id)
);
无命名--已建表时的创建
alter table 表名 add primary key(主键字段1,主键字段2...);
无命名--未建表时的创建
CREATE TABLE table_test(
id INT NOT NULL,
name VARCHAR(20) NOT NULL,
address VARCHAR(20),
PRIMARY KEY(id)
);
2.删除联合主键
主键有名称
alter table ALL_TYPES_ORACLE1 drop constraint pk_types;
主键没名称
alter table 表名 add primary key(主键字段1,主键字段2...);
设置自增主键
1.首先创建序列
--创建序列
CREATE SEQUENCE tb_gift_seq(自定义序列名)
INCREMENT BY 1 -- 每次增加1个
START WITH 1 --从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE --直累加,不循环
NOCACHE --不建立缓冲区
2.在需要使用自增的表上创建触发器
--创建触发器
CREATE OR REPLACE TRIGGER tb_gift_trg(自定义触发器名称)
BEFORE INSERT ON tb_gift
FOR EACH ROW -- WHEN (new.giftID is null) 设置主键存在时,不触发触发器
BEGIN
SELECT tb_gift_seq(之前定义的序列名).NEXTVAL INTO:NEW.giftID(需要自增的字段) FROM DUAL;
END;
Oracle schema相关内容