Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.misc -> select on a view -> ORA-12571
Hi,
there is a view that is compiled fine. It is also possible to select
from this view. And it is also possible to use a where- clause. But if I
use the field VID_SBA inside the where- clause I get an error ORA-12571
an the connection to DB is closed.
Where do I have to look for the problem?
(Text is attached)
Andreas
<WORKING_SELECT>
select distinct VID_STRASZENMEISTEREI
from V_RECHTE_STRASZENMEISTEREIEN
where
VNAME_NUTZER= 'Andreas Mosmann (Testbetrieb)'
</WORKING_SELECT>
<CRASHING_SELECT>
select distinct VID_STRASZENMEISTEREI
from V_RECHTE_STRASZENMEISTEREIEN
where
VID_SBA = 1411
</CRASHING_SELECT>
<MYSTERIOUS_VIEW>
CREATE VIEW BAUMD.V_RECHTE_STRASZENMEISTEREIEN AS
SELECT
N.cid VID_NUTZER, N.cname VNAME_NUTZER, R.cidinstitution VID_RECHTEGEBER,
R.CRECHTLESEN VRECHT_LESEN, R.CRECHTSCHREIBENBAUM VRECHT_SCHREIBENBAUM, R.CRECHTSCHREIBENNETZ VRECHT_SCHREIBENNETZ, R.CRECHTESS VRECHT_ESS, R.CRECHTTTSIB VRECHT_TTSIB,
N.cid VID_NUTZER, N.cname VNAME_NUTZER, R.cidinstitution VID_RECHTEGEBER, IRecht.cname VNAME_RECHTEGEBER,
R.CRECHTLESEN VRECHT_LESEN, R.CRECHTSCHREIBENBAUM VRECHT_SCHREIBENBAUM, R.CRECHTSCHREIBENNETZ VRECHT_SCHREIBENNETZ, R.CRECHTESS VRECHT_ESS, R.CRECHTTTSIB VRECHT_TTSIB,
<USED_FUNCTIONS>
</USED_FUNCTIONS>
function GibSBA
(pcnInstitutionsID number) return number as
lvnParent number;
lvsArt varchar2(3);
begin
SELECT
CIDART,
CIDPARENT
INTO
lvsArt,
lvnParent
FROM
TSINSTITUTIONEN
WHERE
CID = pcnInstitutionsID;
if lvsArt = 'SBA' then
return pcnInstitutionsID;
else
if lvnParent = NULL or lvnParent = pcnInstitutionsID then
return NULL;
else
return GibSBA(lvnParent);
end if;
end if;
end;
function IstWurzel
( pcnInstitutionsIDWurzel number, pcnInstitutionsIDBlatt number ) return varchar2 as
lvnParent number;
lvsArt varchar2(3);
begin
SELECT
CIDART,
CIDPARENT
INTO
lvsArt,
lvnParent
FROM
TSINSTITUTIONEN
WHERE
CID = pcnInstitutionsIDBlatt;
dbms_output.put_line ('Wurzel ' || pcnInstitutionsIDWurzel);
if lvnParent=pcnInstitutionsIDWurzel then
return 'Y';
else
if lvnParent = NULL or lvnParent = pcnInstitutionsIDBlatt then
return 'N';
else
return IstWurzel(pcnInstitutionsIDWurzel,lvnParent);
end if;
end if;
end;
</USED_FUNCTIONS>
-- wenn email, dann AndreasMosmann <bei> web <punkt> deReceived on Tue Feb 07 2006 - 09:21:40 CST