Oracle中插入默认时间
分两种情况,一种是创建表时自动创建带有默认值的字段,一种是把没有默认值的字段设置为有默认值的字段。
第一种情况:
1
2
3
create table test
(id int,
starttime date default sysdate not null );
插入测试数据:
1
2
insert into test (id) values (1);
commit;
验证结果:
第二种情况,比如在test表中加一个endtime,时间也要求是系统默认时间。
添加字段且不设置默认值:
1
alter table test add endtime date;
添加默认值语句:
1
alter table test modify endtime default sysdate;
测试语句:
1
2
insert into test (id) values (2);
插入oracle服务器当前时间
insert into tb (date) values (sysdate);--sysdate为oracle服务器当前时间
插入自定义时间
insert into tb (date) values to_date('2008-06-09','yyyy-MM-dd');
这个是在数据库中设置吧,把数据表中对应字段的default值该系统时间按就行了。
定义时间变量
用for...loop循环十二次插入数据,用add_months(to_date('&date','yyyy-mm-dd'),1)
每循环一次加一个月。
declare
nba_date
date
:=
sysdate;
begin
for
i
in
1
..
12
loop
nba_date
:=
add_months(
to_date(nba_date),1);
insert
into
nba
values
('00','00',nba_date);
end
loop;
end;
sql语句的sysdate不要加'',你再看看sql其它有没有问题。