我有一种情况,我有一个从至少 3 或 4 个不同的地方调用的 Oracle 过程。我需要能够根据某些数据调用自定义代码。自定义代码是特定于客户的 - 因此,客户 A 可能想要执行 ABC,而客户 B 可能想要执行 6-7-8 而客户 C 不需要做任何额外的事情。当客户 D...Z 出现时,我不想修改我现有的程序。
我希望能够将客户特定的程序输入到表格中。在此现有过程中,检查该数据库表是否存在自定义代码过程,如果存在,则执行它。每个客户代码过程都将具有相同的参数。
例如:
- 我的应用程序(3 个以上的地方)将此称为“删除”程序
- 在这个删除过程中,查找要调用的子过程的名称(如果存在的话)
- 如果存在,则执行该删除过程(传入参数)
我知道我可以通过构建一个包含对存储过程的调用的字符串来做到这一点。但是,我想知道 Oracle 10g 是否有内置的东西来做这种事情?