我对程序和东西都很新,尤其是Oracle。 我一直在学习PLSQL的基础知识,这与实际编程没有什么不同。
但我不确定惯例和标准。
给定: 我有一个逻辑,它接受参数,删除,根据参数在DIFFERENT表上插入记录(更像是批处理),如果一切都成功,则返回一个标志。
问题: 1.)这种逻辑是否适合作为一种功能或程序? *根据我研究的内容,我们在想要RETURN东西的时候使用函数,在想要DO(插入/更新/删除)的东西的时候使用。但我的逻辑做到了。
2.。)我可以在PLSQL中的函数内调用一个过程吗?
答案 0 :(得分:1)
1)是的,这绝对是一个合适的程序
2)您可以在程序和功能中调用程序
如果您的批处理过程变得复杂,请尝试将其拆分为多个子程序(过程和函数),将它们封装到plsql包中。这一切都取决于过程的复杂性
答案 1 :(得分:1)
如果一切都成功,“会返回一个标志。”
不要这样做。标志很糟糕,因为它们容易被忽视。如果被调用的程序失败,则应该引发异常。异常是好的,因为调用程序必须确认它们,并决定如何处理它们。
如果被叫程序成功,它不需要做任何事情;在没有引发异常的情况下,调用程序只是假设成功并继续前进。
“我将用Java调用这些程序”
Java处理异常。 PL / SQL异常将抛出Java SQLException
,因此在调用存储过程时使用try
catch
块。您可以使用SQLException.getCode()
来获取错误编号。 Every Oracle error has one。此外,我们可以使用魔法范围-20999到-20000来定义自定义异常。 Find out more