[Oracle] 建表时用到的序列触发器

复制代码

// 注意表名,字段名,索引名 尽量不要带引号

CREATE TABLE FIRSTTB   
(
"ID" NUMBER(8,0) not null primary key,
"NAME" NVARCHAR2(60) not null,
"AGE" NUMBER(4,0) DEFAULT 0 not null ,
"CREATEDTIME" TIMESTAMP (6) not null
)

// 建立序列做自增长id用的
CREATE SEQUENCE FIRSTTB_ID
INCREMENT BY 1
START WITH 1
NOMAXVALUE
NOCYCLE
NOCACHE

// 触发器
CREATE trigger FIRSTTB_trig before
insert on FIRSTTB for each row when (new.ID is null)
begin
select FIRSTTB_ID.nextval into:new.ID from dual;
end;
/   

#注意SQLplus中 / 为结束

 

drop trigger FIRSTTB_trig  // 如果有必要则删除之

复制代码

创建完毕后可以插值查询下看看:

insert into FIRSTTB(NAME,AGE,CREATEDTIME) values('ANDY','20',SYSDATE);
insert into FIRSTTB(NAME,AGE,CREATEDTIME) values('Bill','30',SYSDATE);
insert into FIRSTTB(NAME,AGE,CREATEDTIME) values('Cindy','40',SYSDATE);

commit;

select * from FIRSTTB

 

--END-- 2019.10.18 8:27

posted @   逆火狂飙  阅读(789)  评论(1编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2017-10-17 【Canvas与艺术】八个等腰三角形拼成的八角楼
2013-10-17 【Canvas与艺术】黑客帝国下坠字幕特效
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东
点击右上角即可分享
微信分享提示