oracle添加数据时主键自动增长
2015-05-22 15:15
453 查看
CREATE TABLE STUDENT( --创建学生表
ID NUMBER(10) PRIMARY KEY, --主键ID
SNAME VARCHAR2(20),
);
此时给学生表添加数据时 必须指定id
INSERT INTO STUDENT VALUES(1,'Tom');
下面用触发器和序列结合使得添加数据时id自动增长 不要指定了
--创建序列
CREATE SEQUENCE SEQ_STU
INCREMENT BY 1 ID每次自增几
START WITH 1 ID从几开始自增
MAXVALUE 99999 ID的最大值
MINVALUE 1; ID的最小值
--创建触发器 添加数据的时候id自增
CREATE OR REPLACE TRIGGER TIGGER_STU
BEFORE
INSERT ON STUDENT
FOR EACH ROW
WHEN(NEW.ID IS NULL)
BEGIN
SELECT SEQ_STU.NEXTVAL INTO:NEW.ID FROM DUAL;
END;
触发器创建好之后就可以这样添加数据了
INSERT INTO STUDENT VALUES(null,'Tom');
ID可以为空 添加到数据库时 oracle会自动调用该触发器 更具序列 往后自增
ID NUMBER(10) PRIMARY KEY, --主键ID
SNAME VARCHAR2(20),
);
此时给学生表添加数据时 必须指定id
INSERT INTO STUDENT VALUES(1,'Tom');
下面用触发器和序列结合使得添加数据时id自动增长 不要指定了
--创建序列
CREATE SEQUENCE SEQ_STU
INCREMENT BY 1 ID每次自增几
START WITH 1 ID从几开始自增
MAXVALUE 99999 ID的最大值
MINVALUE 1; ID的最小值
--创建触发器 添加数据的时候id自增
CREATE OR REPLACE TRIGGER TIGGER_STU
BEFORE
INSERT ON STUDENT
FOR EACH ROW
WHEN(NEW.ID IS NULL)
BEGIN
SELECT SEQ_STU.NEXTVAL INTO:NEW.ID FROM DUAL;
END;
触发器创建好之后就可以这样添加数据了
INSERT INTO STUDENT VALUES(null,'Tom');
ID可以为空 添加到数据库时 oracle会自动调用该触发器 更具序列 往后自增
相关文章推荐
- oracle添加数据时主键自动增长
- oracle创建表,追加备注,添加主键,触发器,自动增长序列
- 设置主键自动增长引起刷新页面重复添加数据
- Oracle11g主键自动增长
- oracle使用序列和触发器实现主键的自动增长
- Oracle 主键自动增长
- 使用mybatis 对oracle 数据库 添加自动增长列
- Oracle主键ID设置自动增长(序列+触发器)
- 深入Mysql,SqlServer,Oracle主键自动增长的设置详解
- SQL Server 2014 数据表中如何添加和实现自动增长的序列号
- 自动添加时间与主键自增长
- 在oracle中插入一条数据,id自动增长,插入之后怎么得到这个id(sequence的使用)
- Mysql,SqlServer,Oracle主键自动增长的设置
- Mysql,SqlServer,Oracle主键自动增长的设置
- oracle中的主键自动增长
- ibatis获取主键自动增长ID(Oracle/MSSQL/mysql),取得刚插入的ID编号
- oracle设置主键自动增长
- 添加自动增长字段做主键
- 为没有自动增长列的表添加自动增长列并更新现有数据
- Mysql,SqlServer,Oracle主键自动增长的设置