触发调用存储过程

时间:2011-03-23 13:28:32

标签: database stored-procedures plsql triggers

我无法得到输出也找不到问题。

问题:

Table : rent_info(cust_id,date_out,date_due_in,date_returned,fine)

此表适用于图书租赁服务。首先插入时我必须给出cust_id,date_out(发行书籍的日期),date_due_in(发布日期后7天)。返回本书时,会使用触发器将数据插入rent_info表。

我必须给date_returned。在触发器中,我必须计算每天过去10美元的罚款。

为了返回,我编写了一个更新表格并插入返回日期的程序。然后创建一个触发器(行级触发器,检查更新要支付多少罚款)。作为最后一个陈述,计算的罚款更新到表格。

问题是我可以生成罚款金额,但更新罚款的更新声明给我一个“表变异错误”。

你能告诉我哪里出错了吗?很抱歉没有发布代码。我无法从实验室获取代码。如果这些信息不够,我可以在我的系统中试用,稍后再发布。

1 个答案:

答案 0 :(得分:2)

没有代码,猜测你是如何尝试解决这个问题有点棘手,但听起来你已经编写了一个UPDATE语句来从行级触发器中更新当前行。

这是不可能的。您无法更新正在更新的行。

您可以通过更改触发器中“:new.fine”的值来更新计算的罚款。