首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Oracle过程调用特定于数据的存储过程

从Oracle过程调用特定于数据的存储过程
EN

Stack Overflow用户
提问于 2009-08-31 17:42:08
回答 4查看 388关注 0票数 1

我遇到的情况是,我有一个Oracle过程,该过程至少从3或4个不同的地方调用。我需要能够调用自定义代码取决于某些数据。定制代码是特定于客户的-所以,客户A可能想做and,客户B可能想做6-7-8,而客户C不需要做任何额外的事情。当顾客D.Z来的时候,我不想修改我现有的程序。

我希望能够将特定于客户的过程输入到表中。在此现有过程中,如果存在自定义代码过程,请检查该数据库表,如果存在,则执行它。每个客户代码过程都有相同的参数。

例如:

  1. 我的应用程序(3+ places)将此过程称为“删除”过程
  2. 在此删除过程中,查找要调用的子过程的名称(如果存在)
  3. 如果存在删除过程,则执行该删除过程(传递参数)

我知道我可以通过构建一个包含对存储过程的调用的字符串来完成这个任务。但是,我想知道Oracle10g是否有内置的东西来做这种事情?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-09-14 17:04:15

我们使用的最后一个解决方案是将过程的名称存储在数据库表中。然后构建SQL调用并使用EXECUTE语句。

票数 2
EN

Stack Overflow用户

发布于 2009-09-01 06:31:04

你的每个客户都有自己的数据库吗?如果是这样的话,最好的选择就是使用条件编译。这具有不需要动态SQL的优点。让主程序始终调用自定义过程,并使用CC标志更改它包含的代码。

否则,Oracle确实有一个规则引擎,但它实际上并不适合我们使用。

票数 2
EN

Stack Overflow用户

发布于 2009-09-01 06:59:06

同意APC的答案,只想对其进行扩展,在白皮书中,如果您寻找“基于组件的安装”,它描述了使用条件编译解决的类似问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1358539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档