Oracle插入,更新,删除带有连接的触发器

时间:2015-05-21 19:05:58

标签: oracle join triggers

我正在尝试为子视图实现Oracle触发器,但我需要能够将子视图加入其父级才能进行角色权限检查。

在SQL Server中,我可以像这样:

1

我可以在Oracle中做些什么来复制连接功能吗?

我尝试过选择:新的SS选择插入的方式,但似乎不起作用..

感谢。

1 个答案:

答案 0 :(得分:0)

您无需加入。 :new伪路径可用,可以像记录类型一样引用。它不是类似于表的结构,仅在for each row触发器中可用。所以你的插入将是这样的:

INSERT INTO Analysis_Set_Trts ( ID, Name, f_lAnalysisSetKey, f_lTreatmentKey,
  f_lOrder ) 
SELECT :new.ID, :new.Name, :new.f_lAnalysisSetKey, :new.f_lTreatmentKey,
  :new.f_lOrder                            
FROM Analysis_Sets parentT 
WHERE parentT.ID = :new.f_lAnalysisSetKey
AND ((IsMemberOf('db_owner')=1) or (IsMemberOf(parentT.UpdateRole)=1));

......虽然不太确定最后一行是做什么或者等价物是什么。