1

次のストアド プロシージャを使用して、データベースから親レコードと子レコードを削除しようとしています。

CREATE PROCEDURE [dbo].[DeleteCompanyPersonAndPhoneNumbers] (
    @personId int,
    @deleted bit output)
AS
BEGIN
    SET NOCOUNT ON;
    SET XACT_ABORT ON;

    set @deleted = 0

    begin transaction

        -- delete the phone numbers
        delete from PersonalPhoneNumber 
            where PersonalPhoneNumber.PersonId = @personId

        delete from ProfessionalProfile
            where ProfessionalProfile.Person_Id = @personId  

        delete from aspnet_UserProfile
            where aspnet_UserProfile.Person_ID = @personId

        delete from Accreditation
            where Accreditation.Person_ID = @personId

        delete from Qualification
                where Qualification.Person_ID = @personId

        delete from PERSON where Person_ID = @personId

        set @deleted = 1

    commit transaction

END

外部キー強制をオフに設定しました。sp を実行すると、親レコードのみが削除されます。

SPで何か間違ったことをしていますか?

ありがとう

4

1 に答える 1