14:38:17 SQL> select hostname from dual; select hostname from dual * ERROR 位于第1行: ORA-00904: 无效列名 实际:50hostname 是个什么函数?sysdate函数没问题: 14:37:07 SQL> alter table t2 modify col default sysdate;表已更改。实际:2854 14:37:37 SQL> insert into t2(id) values('a');已创建 1 行。实际:22014:38:11 SQL> select * from t2;ID COL ---------- ---------- a 17-3月 -03实际:80 14:38:17 SQL>
create function namr_f(p1 in number,p2 in number) return number as renum number; begin renum:=p1-p2; return(renum); end; /create table t1(a number,b number,c number default name_f(a,b)); 自定义函数作缺省值会出错
create or replace function HostName return varchar2 is varComputer varchar2(20); begin select Terminal into varComputer from V$SESSION where audsid = (select userenv('sessionid') from dual);
return (varComputer); end HostName;
SQL> conn scott/tiger@eai01; 已连接。 SQL> create function add_f(p1 in number,p2 in number) 2 return number is 3 rNumber number; 4 begin 5 rNumber := p1+p2; 6 return(rNumber); 7 end; 8 /函数已创建。SQL> select add_f(1,2)"a" from dual; a ---------- 3
SQL> create table t3
2 (
3 col1 varchar(20) default to_char(sysdate,'yyyy-mm-dd')
4 )
5 /
这条语就没问题,刚测过
select hostname from dual
*
ERROR 位于第1行:
ORA-00904: 无效列名
实际:50hostname 是个什么函数?sysdate函数没问题:
14:37:07 SQL> alter table t2 modify col default sysdate;表已更改。实际:2854
14:37:37 SQL> insert into t2(id) values('a');已创建 1 行。实际:22014:38:11 SQL> select * from t2;ID COL
---------- ----------
a 17-3月 -03实际:80
14:38:17 SQL>
return number
as
renum number;
begin
renum:=p1-p2;
return(renum);
end;
/create table t1(a number,b number,c number default name_f(a,b));
自定义函数作缺省值会出错
return varchar2 is
varComputer varchar2(20);
begin
select Terminal into varComputer from V$SESSION
where audsid = (select userenv('sessionid') from dual);
return (varComputer);
end HostName;
已连接。
SQL> create function add_f(p1 in number,p2 in number)
2 return number is
3 rNumber number;
4 begin
5 rNumber := p1+p2;
6 return(rNumber);
7 end;
8 /函数已创建。SQL> select add_f(1,2)"a" from dual; a
----------
3