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_Tab
modify 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给列设定缺省值,可以采用上述三种方法中的一种来实现,这种优势极大的减轻了程序员的工作量,也可以以通过它们来简化数据库开发过程。

数据运维技术 » Oracle给列设置默认值的方法(oracle列默认值)