Click here to Skip to main content
15,886,724 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I want only one row of FamilyMember records and in FamilyHead related to FamilyID
here all records are deleted....
how can i solved ....this

SQL
ALTER PROCEDURE [dbo].[spDeleteParivarRegisterDetails]
@FamilyMemberID int,
@IsDeleted bit output
AS
    
	DELETE FROM FamilyMember
	FROM FamilyMember
	LEFT JOIN FamilyHead ON FamilyHead.FamilyID = FamilyMember.FamilyID 
	WHERE FamilyMember.FamilyMemberID=@FamilyMemberID	
	select'Record Deleted'
	SET @IsDeleted=1


-------------------
Table Senario.....

Sir,
FamilyHead having family id as a primary key and Head name only consider FamilyID, HouseNo, WardNo, District and
FamilyMember having FamilyID as relationship with FamilyHead and FamilyMemberID is primary Key and all coulmn name like MemberName,age,sex,qulifaication dateofbirth etc
....
Sir, table resultan data this type
FamilyHead
FamilyID HeadName HouseNo Ward District
1 XXX 516A 1 GZB
FamilyMember
FamilyMemberID ActiveHead MemberName Age Sex Qualifacation FamilyID
1 1 XXX 41 M MCA 1
2 0 AAA 32 F B-Tech 1
3 0 BBB 25 F MCA 1
4 0 CCC 22 M MBA 1


So, Here i want to delete row of Family Member and when Head Check =1 then FamilyHead also deleted the row...but when use FamilyID is select delete all records...how can i solve..
Posted
Updated 21-May-13 23:30pm
v3
Comments
_Damian S_ 22-May-13 2:31am    
Are you wanting to only delete items from FamilyMember, or from another table also?
Faizymca 22-May-13 3:18am    
Yes, Sir it is corelated each other
gvprabu 22-May-13 4:07am    
If u want to delete Family Head table then add one more "Delete" Statement in ur SP.
Faizymca 22-May-13 5:26am    
Sir,
Family Head having family id as a primary key and Head name only consider family id,house no,ward
and
FamilyMember having FamilyID as relationship with FamilyHead and FamilyMemberID is primary Key and all coulmn name like MemberName,age,sex,qulifaication dateofbirth etc
....
Sir, table resultan data this type
FamilyHead
FamilyID HeadName HouseNo Ward
1 XXX 516A 1
FamilyMember
FamilyMemberID ActiveHead MemberName Age Sex Qualifacation FamilyID
1 1 XXX 41 M MCA 1
2 0 AAA 32 F B-Tech 1
3 0 BBB 25 F MCA 1
4 0 CCC 22 M MBA 1


So, Here i want to delete row of Family Member and when Head Check =1 then FamilyHead also deleted the row...

gvprabu 22-May-13 5:31am    
here your Input is only FamilyMemberID, If its Head then we need to delete Head details and family member details for that ID, Eg if they pass Family Member ID is 1 then we need to delete both the tables. If they passed 4 then we need to delete only family Member table right...

1 solution

Hi,

U need to check the Family Head Table also right...
SQL
ALTER PROCEDURE [dbo].[spDeleteParivarRegisterDetails]
@FamilyMemberID int,
@IsDeleted bit output
AS
BEGIN 
	DECLARE @FamilyID INT
	IF EXISTS(SELECT 1 FROM FamilyMember 
                  WHERE FamilyMemberID=@FamilyMemberID AND ActiveHead=1)
	BEGIN
 	    SELECT @FamilyID=FamilyID 
            FROM FamilyMember 
            WHERE FamilyMemberID=@FamilyMemberID AND ActiveHead=1
	END
	-- Family Member Delete    
	DELETE FROM FamilyMember WHERE FamilyMemberID=@FamilyMemberID	

	/* If FamilyID is NOT NULL thne given Family Memeber ID is Family Head ID, 
           So we need to  delete Family Head Details also.  */
	IF @FamilyID IS NOT NULL 
	BEGIN
		DELETE FROM FamilyHead WHERE FamilyID=@FamilyID 
	END
 
	select'Record Deleted'
	SET @IsDeleted=1
END
 
Share this answer
 
v4

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