1 2

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(表名);

--为字段设置默认值
--例子:将年龄的默认值设置为22
alter table table_name(表名) add constraint dt_age(默认名,任意取) default 22(值) for 年龄(字段);

--为字段设置主键
  alter table table_name add constraint Field_PRIMARY(任意取) primary key (column_Field)(单个字段确定唯一性)
 
--为字段设置复合主键
alter table table_name add constraint Field_PRIMARY(任意取) primary key (column_Field1,column_Field2....)(多个字段确定唯一性)

复制代码

 

posted @   大海的泡沫  阅读(1235)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 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
1 2
点击右上角即可分享
微信分享提示