我是PL / SQL的新手,不知道如何用干净利落的方式编写它。我阅读并观看了一个视图教程,但这些示例比我的程序简单得多。要创建一个“大”可读,干净的过程,我将使用多个和/或嵌套的开始/结束和这样的函数:
begin
statement...
function...
end function
exception
end
begin.... and so on
但我不确定这是否是编写PL / SQL的精简方式。我需要在不同的表上进行多次选择,查找行使用它们和isert并更新不同表中的行。所有这一切都在一个程序中。通常,我将使用begin / end作为新语句,仅声明本地使用的变量和函数来对语句结果进行操作。这是不错的做法?
感谢您的帮助
答案 0 :(得分:0)
begin...end;
什么都不做。如果declare
或exception
在该级别有意义,则只需要嵌套块。
例如,此处的内部begin
/ end
关键字毫无意义,您只需删除它们即可:
begin
...
begin
processing steps
end;
...
end;
如果我们只想在嵌套块中处理某些异常(例如,特定查找的句柄no_data_found
异常或utl_file
的文件操作),则嵌套块很有用。这通常比最后使用异常处理程序更好,特别是对于具有大量处理步骤的程序:
begin
...
begin
processing steps
exception
when no_data_found then...
end;
...
end;
类似地,我们可以仅使用嵌套块的范围声明局部变量或常量等。这可能是一个不太常见的要求,而不是异常示例,但有些情况可能会有用:
begin
...
declare
x constant integer := whatever();
begin
processing steps using x
end;
...
end;
如果程序很复杂且步骤繁多,您可以考虑将其分解为更小的可重用模块的方法。