可是使用列的 default 属性,示例如下: SQL> create table mytest 2 (id number, 3 dt date default sysdate);表已创建。SQL> insert into mytest values(1); insert into mytest values(1) * ERROR 位于第 1 行: ORA-00947: 没有足够的值 SQL> insert into mytest(id) values(1);已创建 1 行。SQL> select * from mytest; ID DT ---------- ---------- 1 21-9月 -09
--增加一列 alter table add datecol date; --触发器-- create or replace tri_adddate after insert on table for each row begin if inserting then update table set datecol=sysdate where id= :new.id; end if end;
要插入当前系统时间,插入的时候用sysdate
如果想自动插入,创建一个触发器实现
SQL> create table mytest
2 (id number,
3 dt date default sysdate);表已创建。SQL> insert into mytest values(1);
insert into mytest values(1)
*
ERROR 位于第 1 行:
ORA-00947: 没有足够的值
SQL> insert into mytest(id) values(1);已创建 1 行。SQL> select * from mytest; ID DT
---------- ----------
1 21-9月 -09
alter table add datecol date;
--触发器--
create or replace tri_adddate
after insert on table
for each row
begin
if inserting then
update table set datecol=sysdate where id= :new.id;
end if
end;
--如一楼所说的:增加一个default属性就可以了!
--还用触发器?触发你个鸡把毛是吧?你怕你的系统快了?
2 (id number,
3 dt varchar2(20) default to_char(sysdate,'yyyymmdd hh24:mi'));
你就按2楼的那样写吧,不用改了
是date格式,你说的21-9月 -09只是显示的格式
没有关系