Ich versuche eine Funktion zu erstellen, die einen Eintrag (ID) nimmt und dann das entsprechende XMLTYPE-Feld für einen bestimmten XML-Wert überprüft und basierend auf dem Ergebnis handle Schwierigkeiten beim Zusammensetzen aller Teile. Ich habe die folgende select-Anweisung, die den XML-Wert wählen funktioniert Ich suche:PLSQL IF/ELSE-Funktion zum Überprüfen des XML-Werts
select x.xmldata.extract('//Fc_curstage/text()').getStringVal()
from test_data x
where id = 149;
und die Funktion, die ich bisher habe, ist:
create or replace
function get_xmlstatus
(p_stage in NUMBER)
return VARCHAR2 is
v_stage varchar2(20);
begin
return varchar2
IF v_cur_stg = 'INITIAL' THEN
-- Create new record in stage
v_stage := 'INITIAL 1';
ELSIF v_cur_stg = 'RETURNED' THEN
-- Remove any associated records from the stage
v_stage := 'Returned 2';
ELSE
-- this should raise exception
v_stage := 'Blank Expected 3';
END IF;
Ich bin nicht sicher, wo ich brauche zu erklären dass:
v_cur_stg:=x.xmldata.extract('//Fc_curstage/text()').getStringVal();
oder wo ich brauche, um die Select-Anweisung enthält, so dass die Funktion weiß, was mit der ID zu tun, die in die Funktion übergeben wird.