我对程序和东西特别是甲骨文相当陌生。我一直在学习 PLSQL 的基础知识,这与实际编程没有太大区别。
但我不确定公约和标准。
给定:我有一个逻辑,可以根据参数(更像是批处理)在不同的表上接受参数、删除、插入记录,并在一切成功与否时返回一个标志。
问题: 1.) 这个逻辑适合作为函数还是过程?*根据我的研究,当我们想要返回某事时,我们使用函数,当我们想要做(插入/更新/删除)某事时使用过程。但我的逻辑两者兼而有之。
2.) 我可以在 PLSQL 中调用函数内部的过程吗?
1)是的,这绝对是一个合适的程序
2)您可以在过程和函数中调用过程
如果你的批处理变得复杂,尝试将其拆分成多个子程序(过程和函数),将它们封装到一个plsql包中。这一切都取决于您的过程的复杂性
“如果一切成功与否,则返回一个标志。”
不要这样做。标志很糟糕,因为它们很容易被忽略。如果被调用程序失败,它应该引发异常。异常是好的,因为调用程序必须承认它们,并决定如何处理它们。
如果被调用程序成功,它不需要做任何事情;在没有引发异常的情况下,调用程序只是假设成功并继续前进。
“我将在 Java 中调用这些程序”
Java 处理异常。PL/SQL 异常会抛出 Java ,因此在调用存储过程时SQLException
使用块。try
catch
您可以使用SQLException.getCode()
来获取错误号。 每个 Oracle 错误都有一个. 此外,我们可以使用魔法范围 -20999 到 -20000 来定义自定义异常。 了解更多。