【发布时间】:2016-09-19 19:08:23
【问题描述】:
在我尝试在 APEX 上的一个页面中创建新行后,出现以下错误:
ORA-02291:违反完整性约束 (BD43015.SYS_C001194280) - 未找到父键 ORA-06512:在“BD43015.INSERT_STUDENT”第 4 行 ORA-04088:执行触发器“BD43015.INSERT_STUDENT”时出错 ORA-06512 :在“SYS.WWV_DBMS_SQL”,第 549 行 ORA-06512:在“APEX_040000.WWV_FLOW_DML”,第 1121 行 ORA-22816:带有 RETURNING 子句的不支持的功能 错误无法处理表 V_ALLSTUDENTS 的行。 好的
注意:我正在尝试使用此触发器:
create or replace trigger insert_student
instead of insert on v_allstudents
for each row
begin
insert into members values(:new.memberID, :new.name, :new.birth, :new.regist_date, :new.address, :new.sex, :new.phone);
insert into students values(:new.memberID, :new.guardian, :new.rank, :new.plan_name, :new.plan_value);
end;
/
还有这个观点:
create or replace view v_allstudents(memberID, name, birth, regist_date, address, sex, phone, guardian, rank, plan_name, plan_value) AS
select members.memberID, name, birth, regist_date, address, sex, phone, guardian, rank, plan_name, plan_value
from members, students
where members.memberID = students.memberID
order by members.name;
表成员:
drop table members cascade constraints;
create table members(
memberID number(10) not null,
name varchar2(30) not null,
birth date not null,
regist_date date not null,
address varchar2(50) not null,
sex char(1) not null CHECK (sex IN ('F', 'M')),
phone number(9),
primary key(memberID)
);
表学生:
drop table students cascade constraints;
create table students(
memberID number(10) not null,
guardian varchar2(30),
rank varchar2(20) not null,
plan_name varchar2 (30) not null,
plan_value number(10) not null,
primary key(memberID),
foreign key(memberID) references members(memberID)
);
编辑修复:我们有一个与插入 memberID 冲突的触发器。
【问题讨论】:
-
请发布成员表和学生表的表结构以及所有约束。另外,您能否尝试在 SQLPLUS 或 SQL Developer 的 v_allstudents 中插入一行。这样做将帮助您了解问题是否出在 Oracle Apex 上。
标签: sql oracle oracle11g oracle-apex