Я думаю, вам нужно изменить схему (я использую SOMECOLUMNAME
, потому что вы, похоже, удалили имя столбца из вашего примера):
create table Article (ID int primary key, title nvarchar(50), SOMECOLUMNNAME nvarchar(max), categoryId foreign key references Category(ID) ON DELETE CASCADE)
И тогда вы можете просто:
DELETE FROM Category WHERE ID = @ID
Если вы не можете редактировать схему, вы можете использовать эти операторы:
BEGIN TRANSACTION
DELETE FROM Article WHERE categoryId = @ID
DELETE FROM Category WHERE ID = @ID
COMMIT TRANSACTION