Oracle数据库 常用的触发器命令
创建自增序列,创建触发器(在触发时间中操纵序列,实现主键自增):
Oracle数据库不支持自增方法
create sequence seq_userInfo_usid start with 1;--创建一个序列从1开始 create or replace triggle tri_userInfo --创建或替换 名称为tri_userInfo触发器 before before insert or update on UserInfo --在向userInfo表中添加和修改, 记录之前的触发 for each row --没影响一行出发一次 begin --触发之后执行下面的语句 IF INSERTING THEN --插入数据操作 select seq_testTragger_id.nextval into :new.UserId from dual; --:new新值 :old老值 :NEW.UserId := seq_testTragger_id.currval; :NEW.createtime := systimestamp; ELSIF UPDATING then --修改数据操作 :NEW.createtime := systimestamp; END IF; end;
--查看所有触发器 select * from user_triggers; --禁用触发器 alter trigger tri_uname(触发器名字) disable; --激活触发器 alter trigger tri_uname(触发器名字) enable; --重新编译 alter trigger tri_uname(触发器名字) complie; --禁用某个表上的触发器 alter table table_name(表名) diable all triggers; --删除触发器 DROP TRIGGER tri_uname(触发器名字); --删除序列 DROP SEQUENCE seq_testTragger_id(序列名); --清空表数据 DELETE FROM table_name(表名);alter table table_name add constraint Field_PRIMARY(任意取) primary key (column_Field)(单个字段确定唯一性)
--为字段设置默认值
--例子:将年龄的默认值设置为22
alter table table_name(表名) add constraint dt_age(默认名,任意取) default 22(值) for 年龄(字段);
--为字段设置主键
--为字段设置复合主键
alter table table_name add constraint Field_PRIMARY(任意取) primary key (column_Field1,column_Field2....)(多个字段确定唯一性)
标签:
Oracle
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
2017-08-05 sqlserver 2014使用时有Cannot find one or more components
2017-08-05 win10 安装microsoft.net framework3.5