У меня есть таблица с идентификатором и содержимым сгустка, например:
Create Table v_example_l (
nip number,
xmlcontent clob
);
Мы вставляем наши данные:
Insert into V_EXAMPLE_L (NIP,XMLCONTENT)
Values (17852,'<section><block><name>delta</name><content>548484646846484</content></block></section>');
Insert into V_EXAMPLE_L (NIP,XMLCONTENT)
Values (17852,'<section><block><name>omega</name><content>545648468484</content></block></section>');
Insert into V_EXAMPLE_L (NIP,XMLCONTENT)
Values (17852,'<section><block><name>gamma</name><content>54564846qsdqsdqsdqsd8484</content></block></section>');
Я пытаюсь создать функцию, которая объединяет строки сгустка, которые ушли в результате выбора, я имею в виду, что мне не нужно указывать несколько параметров для имени таблицы или чего-то подобного, я должен давать только столбец которые содержат сгустки, и он должен справиться с остальными.
CREATE OR REPLACE function assemble_clob(q varchar2)
return clob
is
v_clob clob;
tmp_lob clob;
hold VARCHAR2(4000);
--cursor c2 is select xmlcontent from V_EXAMPLE_L where id=17852
cur sys_refcursor;
begin
OPEN cur FOR q;
LOOP
FETCH cur INTO tmp_lob;
EXIT WHEN cur%NOTFOUND;
--v_clob := v_clob || XMLTYPE.getClobVal(tmp_lob.xmlcontent);
v_clob := v_clob || tmp_lob;
END LOOP;
return (v_clob);
--return (dbms_xmlquery.getXml( dbms_xmlquery.set_context("Select 1 from dual")) )
end assemble_clob;
Функция не работает ... (если кто-нибудь может мне помочь, большое спасибо, и я нуб в sql, так что ....). Спасибо!