对不起我的英语不好.
我有2张桌子:
Table1
id
table2_id
num
modification_date
Run Code Online (Sandbox Code Playgroud)
和
Table2
id
table2num
Run Code Online (Sandbox Code Playgroud)
我想打一个触发器,它插入或删除操作后在Table1
更新的最后一个值num
的Table2.table1lastnum
.
我的触发器:
CREATE OR REPLACE TRIGGER TABLE1_NUM_TRG
AFTER INSERT OR DELETE ON table1
FOR EACH ROW
BEGIN
IF INSERTING then
UPDATE table2
SET table2num = :new.num
WHERE table2.id = :new.table2_id;
ELSE
UPDATE table2
SET table2num = (SELECT num FROM (SELECT num FROM table1 WHERE table2_id = :old.table2_id ORDER BY modification_date DESC) WHERE ROWNUM <= 1)
WHERE table2.id = :old.table2_id;
END IF;
END TABLE1_NUM_TRG; …
Run Code Online (Sandbox Code Playgroud) 如果a f:viewParam
为空,我会进行重定向(或错误)吗?
<f:metadata>
<f:viewParam name="accountId" value="#{accountMB.id}"/>
</f:metadata>
Run Code Online (Sandbox Code Playgroud)
当我添加时required="true"
,没有任何反应.有什么选择?
我有以下导航规则:
<navigation-rule>
<from-view-id>/pages/*</from-view-id>
<navigation-case>
<from-outcome>test</from-outcome>
<to-view-id>/pages/test/edit.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
Run Code Online (Sandbox Code Playgroud)
TestMB:
public String test() {
return "test?id=1";
}
Run Code Online (Sandbox Code Playgroud)
和test.xhtml:
<h:commandLink action="#{testMB.test}">click</h:commandLink>
Run Code Online (Sandbox Code Playgroud)
但是,如果这是行不通的话return "test?id=1";
.我不想使用return "/pages/test/edit.xhtml?id=1";
,我想使用抽象名称test
.