2023年11月26日发(作者:)
Oracle表添加时间字段(执⾏insert、update时,时间字段⾃动插⼊当前系统时
间)
Oracle表添加时间字段
在执⾏update、insert操作时,时间字段会⾃动更新时间,插⼊当前系统时间
STUDY表结构如下:
SQL> desc study;
Name Null? Type
------- ----------------- -------- ----------------------------
STUID NOT NULL NUMBER(10)
STUNAME NOT NULL VARCHAR2(20)
SQL>
1、添加时间字段(假设该表在创建时没有加⼊时间字段)
#(modify)
向表孔添加列修改列使⽤
ALTER TABLE table_name ADD( column datatype [DEFAULT EXPR][,column datatype...]);
SQL> alter table study add(time date);
#
删除列
SQL> alter table study drop column time;
验证表结构:
SQL> desc study;
Name Null? Type
------------------------- -------- ----------------------------
STUID NOT NULL NUMBER(10)
STUNAME NOT NULL VARCHAR2(20)
TIME DATE
SQL>
2、创建触发器(Trigger)
#updateinserttime
在执⾏或操作时会⾃动向列插⼊当前数据库时间
SQL> CREATE TRIGGER study_trigger
before INSERT OR UPDATE ON STUDY
FOR EACH ROW
BEGIN
IF INSERTING THEN
:NEW.TIME := SYSDATE;
ELSIF UPDATING then
:NEW.TIME := SYSDATE;
END IF;
END;
/
Trigger created.
SQL>
3、插⼊数据验证
#
随便插⼊⼀条数据
SQL> insert into study values(5,'xiaotian','');
1 row created.
#time
查询验证,列已经⾃动插⼊系统时间
SQL> select * from study;
STUID STUNAME TIME
---------- ------------ -------------------
1 xiaohong
2 xiaoming
3 xiaoliang
4 xiaozhu
5 xiaotian 2021-03-17 14:13:07
#
提交事务
SQL> commit;
Commit complete.
SQL>
update结果这⾥就不测试了,⾄此结束,谢谢。


发布评论