暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle-好记性不如烂笔头-序列及日期时间的插入

数字化设备人 2021-05-06
455

实现目的:

当向表格中插入数据时,自动添加序号,以及系统日期和时间。序号、日期和时间都是为了方便后期的数据分析使用。


主要内容:

  • 表格创建

  • 序列创建

  • 行触发器


环境 jetBrains的DataGrip , Oracle 11g


表格创建

    create table new_test(
    id int primary key ,
    riqi varchar2(20),
    shijian varchar2(20),
    info varchar2(20)
    )
    复制

    序列创建

      create sequence newTest
      --start with 1
      --increment by 1
      --maxvalue 999999
      --cache 50
      --cycle
      复制

      其他参数都是可选的,根据自己需要自行选择填写,这里我们都没用


      行触发器

        create or replace trigger tri_newtest
        before insert
        on new_test
        for each row
        when (new.id is null)
        begin
        select newTest.nextval into :new.id from dual;
        select to_char(sysdate,'YYYY-MM-DD') into :new.riqi from dual;
        select to_char(sysdate,'HH24:MI:SS') into :new.shijian from dual;
        end;
        复制


        效果

        插入语句

          insert into new_test values ('','','','test')
          复制

          因为id,日期和时间都是在触发器中完成的,所有这里都是空的。

          这里我们查询一下刚才插入的数据。


          文章转载自数字化设备人,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

          评论