Click here to Skip to main content
15,890,717 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
i have two tables

&
First Table :
GuestId    Name     Delete
1            Magdy    Delete
2            Rana     Delete
3            Yousf    Delete



Second Table :
Bookingid  GuestId           Place
1             1              Paris     Delete
2             1              Amedica   Delete
3             1              Romanya   Delete


there are relations between 2 tables
Guest 1 --> Have 3 Booking
but
Guest 2 -->Haven't any book (its easy to delete)

please
when i want delete any row in Second table its no problem
but
when i want to delete row from first table & this row have booking in second table
i want to tell me that (you cant Delete this Row, you Must delete all booking at first)

any one can help me please
Posted
Updated 30-Nov-13 11:14am
v2

1 solution

Hi yes of course if you want to delete row in the First Table you Must delete all related rows in the second Table.

But in sql server you can activate cascade delete on the foreign key
 
Share this answer
 
Comments
radals 30-Nov-13 23:21pm    
can u give me more details what u mean
Jean-Claude ADIBA 30-Nov-13 23:27pm    
what laguage do you want to use to delete the data in your two table ?
radals 1-Dec-13 2:52am    
C# , Asp.net & Sql server
Jean-Claude ADIBA 1-Dec-13 3:27am    
OK AS I TRY TO EXPLAIN YOU LATER, TO DELETE RELATED DATA IN YOUR SQLSERVER DATABASE YOU HAVE 2 SOLUTIONS

1. IN SQLSERVER ADD -ON DELETE CASCADE-STATEMENT TO YOUR FOREIGN KEY GuestId IN BOOKING TABLE BY USING SQL LANGAGE OR YOU CAN USE SQLMANAMENT STUDIO TO ADD IT WITH THE DESIGNER

ALTER TABLE [Booking] ADD CONSTRAINT FK_Booking_Guest_GuestId FOREIGN KEY( GuestId)
REFERENCES [Guest] ( GuestId)
ON DELETE CASCADE;

-ON DELETE CASCADE- PERMIT YOU TO DELETE AUTOMATICALY ALL RELATED ROWS IN BOOKING TABLE WHEN YOU DELETE THE GUEST.

BUT YOU CAN DO IT MANUALLY.

2. IN C# BEFORE DELETE A GUEST ROW.
- COUNT THE ROWS IN BOOKING TABLE WHICH HAVE THE ID OF THE GUEST ROWS YOU WANT TO DELETE
- IF COUNT >0 DELETE ALL THE DATA IN BOOKING TABLE WHICH HAVE THE ID OF THE GUEST ROWS YOU WANT TO DELETE
- NOW YOU CAN DELETE THEN GUEST ROW

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900