如何从代码中删除所有注释(单行 --)
我们正在处理 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;
提前谢谢... 苏达萨塔雷
We are dealing with long texts of code in PL/SQL and often we find that the code volume has increased just due to unneccassy comments. Most of them are single line style comments.
How do I write a script which will remove all such comment lines from the code?
For example:
Original code:
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;
Desired code:
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;
Thnaks in advance ...
Suddha Satta Ray
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对于存储的包、过程等,您可以获得像这样的未注释的源:
For stored packages, procedures etc. you could get the uncommented source like this:
尝试进行文件内联编辑:
不要忘记之前备份所有文件!
Try this for inline editing of file:
Don't forget to backup all files before!