【问题标题】:Execute stored procedure in a trigger在触发器中执行存储过程
【发布时间】:2016-08-01 04:58:45
【问题描述】:

我不知道它是否可能......如果没有给出任何想法来实现这种情况。

让我解释一下我想做什么:

我想在插入后触发触发器以执行过程,然后这个过程将由用户从选定的表名中读取数据并将其存储到另一个表中。

首先我有一个应用程序从用户那里读取 2 个值,例如:

Read_From  For_Month

Read_From包含3个值

(1) 从员工中读取
(2) 从实体中读取
(3) 从工资中读取 p>

For_Month用户选择一个日期

Employees表:

Emp_ID  EMP_NAME  EMP_SHARE   FOR_MONTH
---------------------------------------  
 121     Salim     25.8      01/06/2015

我想在我的应用程序中单击添加按钮后触发触发器。

那么,这个触发器将存储用户输入的值并将其传递给程序执行,然后程序将根据这些值执行,从哪个表中读取?哪个月?

如果可能的话,我需要这个触发器和程序的家伙

【问题讨论】:

  • 您的应用程序是什么(包含按钮的应用程序)?例如,如果它是一个 Web 应用程序,则不使用触发器,而只需从应用程序调用插入。
  • 是的,它的网络应用程序

标签: sql oracle


【解决方案1】:

我不确定我是否完全理解您的需求,但这是我的想法......

在这里,我假设您有您的客户端 (Web) 应用程序、您的应用程序使用的一些中间件/服务器端逻辑(例如 SERVLET)以及中间件背后的数据库。

首先,您不会通过单击 Web 应用程序的按钮来触发数据库中的任何内容。您所做的是调用执行某些操作的存储过程。

您可以通过以下两种方式之一进行:

  1. 您在单击按钮时调用的存储过程执行插入并调用需要使用插入的数据运行的附加逻辑

  2. 您在需要插入数据的表上创建一个触发器,该触发器调用需要使用插入的数据执行的逻辑。单击按钮时调用的存储过程只会插入新数据(并且由于触发器,将执行附加逻辑)。

希望这就是您想要的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-13
    • 2019-03-25
    • 1970-01-01
    • 1970-01-01
    • 2021-07-18
    • 2010-12-15
    • 2020-05-20
    • 1970-01-01
    相关资源
    最近更新 更多