Home » Developer & Programmer » Forms » deleting records (developer 6i second release)
deleting records [message #293870] |
Tue, 15 January 2008 06:43  |
ashraf_al_ani
Messages: 92 Registered: October 2007 Location: Iraq
|
Member |
|
|
Dear all
I have a form that based on a relation one to many "cascade"
so how can I delete a parent record and his children
by a command button?
best regards
|
|
|
|
|
Re: deleting records [message #293883 is a reply to message #293880] |
Tue, 15 January 2008 07:55   |
 |
Littlefoot
Messages: 21824 Registered: June 2005 Location: Croatia, Europe
|
Senior Member Account Moderator |
|
|
Here's an example: two tables, with a referential integrity constraint:SQL> create table master
2 (id number primary key,
3 name varchar2(20));
Table created.
SQL> create table detail
2 (id_fk number constraint fk_dm references master (id),
3 value number);
Table created.
SQL> insert all
2 into master (id, name) values (1, 'Little')
3 into master (id, name) values (2, 'Foot')
4 into detail (id_fk, value) values (1, 10)
5 into detail (id_fk, value) values (1, 20)
6 into detail (id_fk, value) values (2, 30)
7 select * From dual;
5 rows created.
SQL> commit;
Commit complete.
SQL> select * from master;
ID NAME
---------- --------------------
1 Little
2 Foot
SQL> select * from detail;
ID_FK VALUE
---------- ----------
1 10
1 20
2 30
SQL>
Now let's try to delete one of the 'master' records: it will fail as child records still exist:SQL> delete from master where id = 1;
delete from master where id = 1
*
ERROR at line 1:
ORA-02292: integrity constraint (SCOTT.FK_DM) violated - child record found
Our next step is to recreate the foreign key constraint and include the ON DELETE CASCADE option:SQL> alter table detail drop constraint fk_dm;
Table altered.
SQL> alter table detail add constraint fk_dm foreign key (id_fk)
2 references master (id) on delete cascade;
Table altered.
Deleting a master will now succeed:SQL> delete from master where id = 1;
1 row deleted.
SQL> select * from master;
ID NAME
---------- --------------------
2 Foot
SQL> select * From detail;
ID_FK VALUE
---------- ----------
2 30
SQL>
|
|
|
|
|
|
|
Goto Forum:
Current Time: Tue Jun 03 12:56:07 CDT 2025
|