CREATE TRIGGER "mst"."TEMP_INSERT" BEFORE
INSERT ON "mst_data" FOR EACH ROW DECLARE
time TIMESTAMP := SYSTIMESTAMP;
BEGIN
:new.date := time;
END;大家帮我看看这段代码有问题吗?为什么我插入记录,date总是null????
INSERT ON "mst_data" FOR EACH ROW DECLARE
time TIMESTAMP := SYSTIMESTAMP;
BEGIN
:new.date := time;
END;大家帮我看看这段代码有问题吗?为什么我插入记录,date总是null????
跟timestamp相同?如果不同的话,应该转换。CREATE TRIGGER test_trigger
BEFORE INSERT ON table_name
FOR EACH ROW
DECLARE
time TIMESTAMP := SYSTIMESTAMP;
BEGIN
:new.date := TO_CHAR(time, 'MM/DD/YYYY HH24:MI:SS');
insert into table_name values (:new.date);
END;
可以直接这么用吗??一般我都是:
select SYSTIMESTAMP into time from dual;楼主不妨试试
SQL> desc test
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
DTIME TIMESTAMP(6)
ID NUMBER(10)SQL> 1 CREATE TRIGGER TEMP_INSERT BEFORE
2 INSERT ON test FOR EACH ROW DECLARE
3 time TIMESTAMP := SYSTIMESTAMP;
4 BEGIN
5 :new.dtime := time;
6* END;
7 /触发器已创建SQL> insert into test(id) values(1);已创建 1 行。SQL> select * from test;DTIME
---------------------------------------------------------------------------
ID
----------
08-8月 -06 08.19.57.859000 上午
1并没有发现问题。测试环境9。2。0。6问题1:DATE是保留字,不能做字段,除非加上双引号。
问题2:试下select systimestamp from dual;是否有值存在?