在t_tname数据块中添加WHEN-NEW-RECORD-INSTANCE触发器
if get_block_property( 't_tname ',insert_allowed) = 'true ' then
if :t_tname.xh is null then
:parameter.p_xh := :parameter.p_xh + 1;
:t_tname.xh := :parameter.p_xh;
end if;
end if;
3.修改
GO_BLOCK( 't_tname ');
IF :t_tname.XH IS NOT NULL THEN
SET_BLOCK_PROPERTY( 't_tname ',INSERT_ALLOWED,PROPERTY_FALSE);
SET_BLOCK_PROPERTY( 't_tname ',UPDATE_ALLOWED,PROPERTY_TRUE);
END IF;
4.删除
GO_BLOCK( 't_tname ');
IF :t_tname.XH IS NOT NULL THEN
SET_BLOCK_PROPERTY( 't_tname ',delete_ALLOWED,PROPERTY_true);
delete_record;
commit;
SET_BLOCK_PROPERTY( 't_tname ',delete_ALLOWED,PROPERTY_false);
END IF;
DECLPARE
P_WHERE VARCAHR2(200) := '1=1 ';
BEGIN
IF :BLK_QUERY.XM IS NOT NULL THEN
P_WHERE := P_WHERE|| ' AND XM = '||CHR(39)||:BLK_QUERY.XM||CHR(39);
END IF;
IF :BLK_QUERY.CSRY IS NOT NULL THEN
P_WHERE := P_WHERE|| ' AND TO_CHAR(CSRY, ' 'YYYYMMDD ' ') =
'||CHR(39)||TO_CHAR(:BLK_QUERY.CSRY, 'YYYYMMDD ')||CHR(39);
END IF;