暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 在IG报告上仅插入一行取决于页面项的值

ASKTOM 2020-10-09
200

问题描述

大家好,
我有一个挑战案例,例如: 我有一个选择列表页面项目和一个IG报告。我想当我选择一个由 'W' 值的页面项时,它只允许IG报告一行。虽然我选择了另一个值,但它仍然允许IG报告的许多行。

我尝试在提交代码后:
Declare 
v_count number;
Begin

select count(*)
into v_count
from E_EDUFIT_MARKS_DETAIL md, e_edufit_marks m
where md.marks_id = m.marks_id
and m.type_marks = 'W'
AND md.marks_id = :P2645_MARKS_ID;

if v_count > 1  then return 'FALSE';
end if;
end;
复制


我认为以前创建一行时可能会成功。我不知道创建新记录时,用户单击添加行 (超过2行) 将无法运行。我还没有找到解决该问题的方法。我希望你帮我有一个好主意。提前感谢。

专家解答

我认为您最好在这里对数据库进行唯一的约束,因为否则即使代码有效,多个用户也可以同时进行操作。

例如,要让每个员工的单行类型W和多行其他任何内容 (例如),您可以执行以下操作:

create unique index IX on EMP  ( case when type = 'W' then empno end );
复制

假设这里empno是主键。
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论