无法在PLSQL中使用REPLACE函数

时间:2014-04-27 16:07:03

标签: oracle replace plsql

我想知道调用REPLACE function described here的适当方式是什么,因为我已经创建了下面的语句来测试它,但是我收到了一个错误:

DECLARE
 templateMessage3 VARCHAR2(50);
BEGIN
 templateMessage3 := 'Dear Mr./Madam FNAME';
  replace(templateMessage3, 'FNAME', 'Lilly');
  DBMS_OUTPUT.PUT_LINE(templateMessage3);
END;
/

错误:

PLS-00221: 'REPLACE' is not a procedure or is undefined

我正在使用Oracle 11g网络界面。

2 个答案:

答案 0 :(得分:9)

REPLACE是一个函数,而不是一个过程,因此请使用以下语法:

templateMessage3 := replace(templateMessage3, 'FNAME', 'Lilly');

答案 1 :(得分:0)

REPLACE是一个sql函数

所以你需要这样的东西:

SELECT replace(:templateMessage3, 'FNAME', 'Lilly')
INTO templateMessage3
FROM dual;

(我没有安装Oracle,因此无法仔细检查语法,但应该足以让您入门)