Oracle给列设置默认值的方法(oracle列默认值)
Oracle给列设置默认值的方法
Oracle的默认值是列使用时缺省需要填充的值,可以有效的降低 DBA 和程序员的开发难度。在Oracle中,如果你需要给表列设置默认值,可以通过以下两种方法来实现:
1. 使用create table语句在创建表的时候直接指定默认值:
例如,下面的语句中,给表FK_tab的列def_val设置了默认值为1000的缺省值:
“`SQL
create table FK_Tab
(
def_val number(2) default 1000 not null
);
2. 使用alter table语句给已经存在的表添加列或者是修改列的默认值:
例如,下面的语句中,修改表FK_Tab的列def_val的默认值为1000:```SQL
alter table FK_Tabmodify def_val number(2) default 1000 not null;
除了以上两种方法设置默认值,我们也可以用系统定义函数default函数来设置默认值。可以用定义函数将一个列的默认值设置为调用该函数的参数:
“`SQL
create table Demo
(
name varchar2(10) default (‘abc’) not null
);
,
create or replace function f_default
return varchar2
is
v_name varchar2(10) := ‘pqr’;
begin
return v_name;
end;
/
alter table Demo
modify name varchar2(10)
default (sys.f_default) not null;
上面的示例中,我们定义了一个名为f_default的函数,这样我们就可以给表Demo的name列设置为默认值‘pqr’。在运行alter table修改列的语句时,将参数指定为sys.f_default,当我们的列未赋值时,则会调用我们定义的函数来提供缺省值。
总之,用Oracle给列设定缺省值,可以采用上述三种方法中的一种来实现,这种优势极大的减轻了程序员的工作量,也可以以通过它们来简化数据库开发过程。