【发布时间】:2015-12-09 13:19:24
【问题描述】:
我有一个 pl sql 字符串如下:
String := 'ctx_ddl.add_stopword(''"SHARK_IDX19_SPL"'',''can'');
create index "SCOTT"."SHARK_IDX2"
on "SCOTT"."SHARK2"
("DOC")
indextype is ctxsys.context
parameters(''
datastore "SHARK_IDX2_DST"
filter "SHARK_IDX2_FIL"
section group "SHARK_IDX2_SGP"
lexer "SHARK_IDX2_LEX"
wordlist "SHARK_IDX2_WDL"
stoplist "SHARK_IDX2_SPL"
storage "SHARK_IDX2_STO"
sync (every "SYSDATE+(1/1)" memory 67108864)
'')
/
';
我必须搜索最后出现的 '/' 并添加 ';'给它。我还需要转义参数('')中预设的引号以获得额外的引号。我需要像
这样的输出String := 'ctx_ddl.add_stopword(''"SHARK_IDX19_SPL"'',''can'');
create index "SCOTT"."SHARK_IDX2"
on "SCOTT"."SHARK2"
("DOC")
indextype is ctxsys.context
parameters(''''
datastore "SHARK_IDX2_DST"
filter "SHARK_IDX2_FIL"
section group "SHARK_IDX2_SGP"
lexer "SHARK_IDX2_LEX"
wordlist "SHARK_IDX2_WDL"
stoplist "SHARK_IDX2_SPL"
storage "SHARK_IDX2_STO"
sync (every "SYSDATE+(1/1)" memory 67108864)
'''')
/;
';
任何帮助。
【问题讨论】:
-
这里不是很清楚你在问什么。请花时间格式化您的问题并以清晰的方式提出,以便有人可以帮助您。
-
请解释您要做什么。为什么将 Oracle Text API 调用和 DDL 语句作为字符串?为什么要在同一个执行空间中挖掘 PL/SQL 调用和 DDL?如果这些是脚本,为什么要使用 REGEXP_REPLACE() 来处理它们,而不是使用文本编辑器(可能支持正则表达式的编辑器)来编辑它们?
标签: oracle regexp-replace