替换 Oracle 变量中的 CLOB 文本

AAA*_*AAA 1 oracle plsql replace clob

我有一个 Oracle 过程,它接受参数 (v_MessageText) 来更新表上名为 message_text 的列。message_text 列是 CLOB。我希望能够替换输入中的文本,因此如果用户输入 testABC ,它会将 testXYZ 输出到 message_text 列中。起初,这看起来很简单。我尝试在我的程序中运行下面的代码,但出现错误:

    SELECT REPLACE (v_MessageText, 'ABC', 'XYZ') from dual;
Run Code Online (Sandbox Code Playgroud)

Oracle 给我的错误是:“PLS-00428:此 select 语句中需要一个 INTO 子句”。为什么?我在这里做错了什么?

AAA*_*AAA 5

没关系——很简单!使用以下 SQL 即可解决问题:

    SELECT REPLACE (v_MessageText, 'ABC', 'XYZ') into v_MessageText from dual;
Run Code Online (Sandbox Code Playgroud)