如何从代码中删除所有注释(单行 - )

时间:2011-01-17 10:45:11

标签: plsql comments

我们正在处理PL / SQL中的长文本代码,并且我们经常发现代码量由于不必要的注释而增加。其中大多数都是单行风格的评论。

如何编写一个脚本,从代码中删除所有这些注释行?

例如: 原始代码:

DECLARE
   a  date := 0;
   -- NHT20302939 Dt 22.09.2009 Start
   b  VARCHAR2(1)  := 'N';
   -- NHT20302939 Dt 22.09.2009 End'
BEGIN
   -- NHT20302939 Dt 22.09.2009 Start
   a = GET_DATE();
   -- NHT20302939 Dt 22.09.2009 End
   if a > '22-MAR-2010' THEN
     -- NHT20302939 Dt 22.09.2009 Start
     Null;
     -- NHT20302939 Dt 22.09.2009 End
   else
      if myschema.PROCEDURE(b,
                        a) = FALSE THEN
     raise form_trigger_failure
   end if;
 end if;
END;

所需代码:

  DECLARE
    a  date := 0;
    b  VARCHAR2(1)  := 'N';
  BEGIN
     a = GET_DATE();
     if a > '22-MAR-2010' THEN
        Null;
     else
        if myschema.PROCEDURE(b,
                              a) = FALSE THEN
           raise form_trigger_failure
        end if;
     end if;
  END;

事先提醒...... Suddha Satta Ray

2 个答案:

答案 0 :(得分:0)

尝试使用此内容编辑文件:

sed -e '/^\s*--.\+/d' -i yourFile.txt

不要忘记以前备份所有文件!

答案 1 :(得分:0)

对于存储的包,程序等,你可以得到这样的未注释的来源:

select text
from   user_source
where  name = 'MYPACKAGE'
and    type = 'PACKAGE BODY'
and    ltrim(text) not like '--%'
order by line;