首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用plsql developer将代码格式化为'‘|| chr(10) ||

如何使用plsql developer将代码格式化为'‘|| chr(10) ||
EN

Stack Overflow用户
提问于 2015-09-02 20:04:13
回答 1查看 174关注 0票数 0

我需要将大量代码转换为以下格式:

代码语言:javascript
复制
'MERGE INTO employees emp' || chr(10) ||    
'USING (SELECT * FROM (SELECT (SELECT VALUE 
FROM departments 
WHERE CNTRY_CDE = ''100'' 
AND NAME = ''Scott'') BATCH_ID, SUBJECT_ID,' || chr(10) ||  

因为这段代码是作为clob数据插入到表中的。有什么办法可以做到吗?

上面给出的代码只是我拥有的示例。

EN

回答 1

Stack Overflow用户

发布于 2015-09-02 23:14:35

如果我理解正确的话,您有一条SQL语句,它看起来像这样

代码语言:javascript
复制
'MERGE INTO employees emp USING (SELECT * FROM (SELECT (SELECT VALUE FROM departments WHERE CNTRY_CDE = ''100'' AND NAME = ''Scott'') BATCH_ID, SUBJECT_ID,'

你想让它看起来像

代码语言:javascript
复制
'MERGE INTO employees emp' || chr(10) || 'USING (SELECT * FROM (SELECT (SELECT VALUE FROM departments WHERE CNTRY_CDE = ''100'' AND NAME = ''Scott'') BATCH_ID, SUBJECT_ID,' || chr(10) ||

尽管我对此的实用性心存疑虑,但我认为实现它的一种方法如下所示:

代码语言:javascript
复制
declare 
  strOldstmt VARCHAR2(2000) := 'MERGE INTO employees emp USING (SELECT * FROM (SELECT (SELECT VALUE FROM departments WHERE CNTRY_CDE = ''100'' AND NAME = ''Scott'') BATCH_ID, SUBJECT_ID,';
  strNewstmt VARCHAR2(2000);
begin
  -- Test statements here

  DBMS_OUTPUT.PUT_LINE('strOldstmt=''' || strOldstmt || '''');

  strNewstmt := REPLACE(strOldstmt, 'USING', ''' || CHR(10) || '' USING') || ''' || CHR(10) || ';

  DBMS_OUTPUT.PUT_LINE('strNewstmt=''' || strNewstmt || '''');
end;

这里的问题是,这是非常特定于这个特定语句的,它可能不适用于其他语句;但是,它确实适用于您给出的示例,我无法猜测您更一般的要求是什么。

祝你好运。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32352662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档