我正在尝试为子视图实现Oracle触发器,但我需要能够将子视图加入其父级才能进行角色权限检查。
在SQL Server中,我可以像这样:
1
我可以在Oracle中做些什么来复制连接功能吗?
我尝试过选择:新的SS选择插入的方式,但似乎不起作用..
感谢。
答案 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));
......虽然不太确定最后一行是做什么或者等价物是什么。