这种sql逻辑,功能还是程序?

时间:2013-07-14 13:11:52

标签: sql oracle procedure

我对程序和东西都很新,尤其是Oracle。 我一直在学习PLSQL的基础知识,这与实际编程没有什么不同。

但我不确定惯例和标准。

给定: 我有一个逻辑,它接受参数,删除,根据参数在DIFFERENT表上插入记录(更像是批处理),如果一切都成功,则返回一个标志。

问题: 1.)这种逻辑是否适合作为一种功能或程序? *根据我研究的内容,我们在想要RETURN东西的时候使用函数,在想要DO(插入/更新/删除)的东西的时候使用。但我的逻辑做到了。

2.。)我可以在PLSQL中的函数内调用一个过程吗?

2 个答案:

答案 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