且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

替换或删除oracle存储过程中的多行文本

更新时间:2023-02-07 11:03:22

如果它是纯文本文本,而不是 XML ,那么您可以简单地使用 REPLACE .

If it is plain text and not XML, then you could simply use REPLACE.

例如,

SQL> WITH DATA AS
  2    (SELECT '
  3  <COLLECT_PARALLELGRAMMAR1>global.grxml</COLLECT_PARALLELGRAMMAR1>
  4  <COLLECT_INPUTMODES>voice dtmf</COLLECT_INPUTMODES>
  5  <CONF_INPUTMODES>dtmf</CONF_INPUTMODES>
  6  </ROW>
  7  </properties>
  8  <?xml version="1.0"?>
  9  <properties>
 10  <ROW>
 11  <MODULE_NAME>main_menu_phone</MODULE_NAME>
 12  <MODULE_DESCRIPTION>Main Menu for Customers with silver membership</MODULE_DESCRIPTION>
 13  <MODULE_TYPE>phone</MODULE_TYPE>' str
 14    FROM dual
 15    )
 16  SELECT REPLACE(str, '</properties>
 17  <?xml version="1.0"?>
 18  <properties>', '') new_str
 19  FROM data;

NEW_STR
--------------------------------------------------------------------------------------------

<COLLECT_PARALLELGRAMMAR1>global.grxml</COLLECT_PARALLELGRAMMAR1>
<COLLECT_INPUTMODES>voice dtmf</COLLECT_INPUTMODES>
<CONF_INPUTMODES>dtmf</CONF_INPUTMODES>
</ROW>

<ROW>
<MODULE_NAME>main_menu_phone</MODULE_NAME>
<MODULE_DESCRIPTION>Main Menu for Customers with silver membership</MODULE_DESCRIPTION>
<MODULE_TYPE>phone</MODULE_TYPE>