日期:2014-05-17  浏览次数:20724 次

用自定议函数给表列赋默认值的问题
create table t_test(
a number(5) default 0 NOT NULL,
b varchar2(20),
c char(6) default f_setc not null);

其中:f_setc是自定议函数,执行时ORQCLE报:ORA-00984: 列在此处不允许,但如果我将f_setc换成系统函数如:to_char(123456)由可成功,但没足不了我的设计要求,请问如何才能用自定议函数作为表列的默认值?

------解决方案--------------------


函数要有返回值,f_setc返回值是什么?

楼主把f_setc 代码贴出来看看...
------解决方案--------------------
这个函数的返回值是固定的吗,
to_char(123456)可以是因为这是个定值吧
------解决方案--------------------
探讨
create table t_test(
a number(5) default 0 NOT NULL,
b varchar2(20),
c char(6) default f_setc not null);

其中:f_setc是自定议函数,执行时ORQCLE报:ORA-00984: 列在此处不允许,但如果我将f_setc换成系统函数如:to_char(123456)由可成功,但没足不了我的设计要求,请问如何才能用自定议函数作为表列的默认值?