Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Creating a self-referencing stored function in Oracle8 ??
Hi all,
We are migrating from SQL Anywhere to Oracle8 at the moment
and I have several self-referencing stored functions to
convert. Oracle won't let me create the function as it is
self-referencing
"f_getEntityDescription('company',COMPANYCODE)". I'm pretty
sure I can just create a 'dummy' version and then ALTER it
to the real thing, however this will be a bit of a pain to
script. Does anlyone know if Oracle supports the creation of
this sort of function in a more elegant way? In SQLA
external references are not checked until they are called,
so we didn't have this problem.
I've inlined an example below of the SQLA script:
create function "DBA".f_getEntityDescription(in @ENTITYTYPE char(10),in @ENTITYID integer) returns char(255) begin declare @VALUE char(255); case @ENTITYTYPE when 'company' then select COMPANYNAME+IFNULL(COMPANYDEPARTMENT,'',' ('+COMPANYDEPARTMENT+')')+' [' +STRING(@ENTITYID)+']' into @VALUE from TCOMPANY where COMPANYCODE=@ENTITYID when 'order' then select STRING(ORDERNUMBER,': ',f_getEntityDescription('company',COMPANYCODE)) into @VALUE from TORDER
etc...
Regards, David. Received on Mon Feb 01 1999 - 19:41:20 CST
![]() |
![]() |