将序列设置为字段的默认值 - oracle

本文介绍了如何在Oracle数据库中创建包含序列自增字段的表结构,并利用触发器实现自动填充主键。此外,还提供了数据插入语句的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、表结构中log_id 非空、且为主键字段

create table TL_M_QRTZ_LOG
(
log_id NUMBER(8) not null,
job_id NUMBER(8) not null,
seq_no NUMBER(4),
start_time DATE not null,
end_time DATE,
exec_state VARCHAR2(256) default '0',
expr_eval VARCHAR2(256),
fail_reason VARCHAR2(1024)
)

2、建立触发器

create or replace trigger log_trigger before
insert on TL_M_QRTZ_LOG for each row
when (new.LOG_ID is null)
begin
select qrtz_sequence.nextval into:new.LOG_ID from dual;
end;

3、数据插入语句

INSERT INTO TL_M_QRTZ_LOG (
JOB_ID,
SEQ_NO,
START_TIME,
END_TIME,
EXEC_STATE,
FAIL_REASON)
VALUES (
#jobId#,
#seqNo#,
#startTime#,
#endTime#,
#execState#,
#failReason#)

 

通过2可以实现,为将序列作为默认值添加到字段上

转载于:https://www.cnblogs.com/olmlo/p/3142509.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值