在Oracle中使用软件包的优缺点

Use*_*789 0 asp.net oracle plsql stored-procedures packages

我对使用软件包很陌生。我的团队正在决定是否在我们的应用程序中使用软件包。我们有4个应用程序当前正在使用嵌入式SQL。我们决定将每个sql语句放入存储过程中,然后在逻辑上将存储过程分组到包中(这些存储过程将在应用程序之间共享)。使用软件包的潜在利弊是什么?

我们的应用程序是使用c#在asp.net中编写的。

Lal*_*r B 5

因此,您想就使用软件包的优缺点展开辩论吗?好的,如果可以与我们分享,那么我将把不利因素留给您。我只是与您分享优势,而不是用我自己的话,因为这将重复托马斯·凯特(Thomas Kyte)在这里所说的话:

  • 打破依赖关系链(在安装新的程序包主体时没有级联的失效-如果您有调用过程的过程-编译将使您的数据库失效)

  • 支持封装-我将被允许编写模块化,易于理解的代码-而不是MONOLITHIC,不可理解的程序

  • 显着增加我的命名空间。程序包名称在模式中必须唯一,但是我可以在多个具有相同名称的程序包中使用多个过程而不会发生冲突

  • 支持超载

  • 在需要时支持会话变量

  • 提倡整体良好的编码技术,使您可以编写模块化,可理解,逻辑分组的代码。...

如果您是一名程序员,您将在心跳中看到软件包比独立程序的大量增加带来的好处。