在SQL中定义正确的触发器类型时出现问题

在SQL中定义正确的触发器类型时出现问题,sql,oracle10g,Sql,Oracle10g,我想要的很简单。我希望我的一个表在每次对其进行选择时更新其行。所以我做到了: CREATE OR REPLACE TRIGGER dateSelectionTrain BEFORE SELECT ON Train FOR EACH ROW BEGIN UPDATE Train SET derniereSelection = SYSDATE WHERE numero = :NEW.numero; END; 我只想更新在选择中选择的行 当我尝试创建触发器时,我收到以下消息

我想要的很简单。我希望我的一个表在每次对其进行选择时更新其行。所以我做到了:

CREATE OR REPLACE TRIGGER dateSelectionTrain BEFORE SELECT ON Train FOR EACH ROW 
BEGIN
    UPDATE Train
    SET derniereSelection = SYSDATE
    WHERE numero = :NEW.numero;
END;
我只想更新在选择中选择的行

当我尝试创建触发器时,我收到以下消息:

ORA-04072: invalid trigger type
所以我想知道,他们是否有办法在每次选择时更新一个表


提前感谢

我不相信Oracle支持选择类型触发器。

我不相信Oracle支持选择类型触发器。

在这种情况下,他们是否有某种方法(可能不是触发器)来实现这一点?不是真的。您可以审核SELECT,然后尝试挖掘审核跟踪-但是您不能通过发出SELECT来更新表。在这种情况下,他们是通过某种方式(可能不是触发器)来完成此操作的吗?不太可能。您可以审核选择,然后尝试挖掘审核跟踪-但是您不能通过发出选择来更新表。我从来没有听说过任何数据库在您选择时会使触发器工作。选择不是更改数据的操作。你为什么要这么做?在我的数据库里,我在管理旅行的火车。当我从表train中选择train时,如果此特定列车自上次选择后进行了任何行程,我希望更新距离列。如果需要存储此派生值,为什么不在记录行程时存储它?这是正常的做事方式,我没有想到。好吧,谢谢,那我就这么做吧!我从来没有听说过任何数据库会在您选择时使触发器工作。选择不是更改数据的操作。你为什么要这么做?在我的数据库里,我在管理旅行的火车。当我从表train中选择train时,如果此特定列车自上次选择后进行了任何行程,我希望更新距离列。如果需要存储此派生值,为什么不在记录行程时存储它?这是正常的做事方式,我没有想到。好吧,谢谢,那我就这么做吧!