我正在运行以下查询
SELECT ora_database_name AS SERVER_NAME,'CNTODSSTG' AS DB_NAME,p.owner,p.object_name,s.text
FROM all_procedures p,all_source s
WHERE p.owner<>'SYS' AND p.owner<>'SYSTEM' AND s.TYPE='PROCEDURE'
AND p.object_name=s.name
GROUP BY p.owner,p.object_name,s.text
s.text是程序中的编码。 但它正在以不同的方式出现 我需要在一栏中得到它 让我知道如何修改上面的查询以获得所需的结果
答案 0 :(得分:1)
SELECT ora_database_name AS SERVER_NAME,
'CNTODSSTG' AS DB_NAME,p.owner,p.object_name,
dbms_metadata.get_ddl(p.object_type,p.object_name,p.owner)
FROM all_procedures p
WHERE p.owner<>'SYS' AND p.owner<>'SYSTEM' AND s.TYPE='PROCEDURE'
答案 1 :(得分:0)
用空格替换新行字符
REGEXP_REPLACE(s_text, '[[:space:]]+', ' ') s_oneline_text
我的想法是,我们在行的开头或结尾处理CR,LF和空格,替换为单个空格。这也将用一个空格替换多个空格字符。