【发布时间】:2018-07-12 09:36:52
【问题描述】:
我想在 PL\SQL 中编写一个过程,它将特殊字符(在下面的示例中:哈希)更改为先验声明的字符(在下面的示例中:下划线)。该过程应将表名和列名作为参数。我写了这样的代码,但是,它不起作用:
create or replace procedure change_chars(table_name in varchar2, column_name in varchar2)
begin
execute immediate 'update ' || table_name ||
' set ' || column_name || ' = replace(' || column_name ||', '''#''', '''_''')';
end;
任何帮助将不胜感激
【问题讨论】:
-
"it doesn't work" ... catb.org/esr/faqs/smart-questions.html#bespecific ... 也就是说,你有太多的单引号,这意味着
#和_被解释为代码而不是而不是作为要执行的字符串的一部分。
标签: plsql oracle11g parameter-passing procedure tablename