Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CREATE OR REPLACE FUNCTION create_xml_event(
- event text,
- params text)
- RETURNS void AS
- $BODY$
- DECLARE
- param text;
- param_name text[];
- param_value text[];
- param_matches text[];
- event_params_string text default '';
- xml_string text;
- begin
- select array (select regexp_matches($2,'([^\/]*)/', 'g') from dual) into param_matches;
- foreach param in array param_matches loop
- select REGEXP_MATCHES(param,'(.*):=', 'g') into param_name from dual;
- select REGEXP_MATCHES(param,':=(.*)', 'g') into param_value from dual;
- event_params_string := ''||event_params_string||'<par name="'||param_name[1]||'" type="string">'||param_value[1]||'</par> ';
- end loop;
- xml_string := '<event name="'||$1||'">'||event_params_string||'</event>';
- INSERT INTO "XML_EVENT" ("ID", "STATUS", "OPSTATUS", "DEST", "EVENT", "XML_DATA", "CREATED_BY", "MODIFIED_BY")
- VALUES (3, 'new', 'new', 'notifier', ''||$1||'', XMLPARSE (content xml_string), 'SYSTEM', 'SYSTEM');
- end;
- $BODY$
- LANGUAGE plpgsql;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement