[Homework] Бази данни - 5. Advanced-SQL - Problem 32 - Constraint trouble
Здравейте.
При изпълнение на заявка за изтриване:
BEGIN TRANSACTION
DELETE Employees
WHERE DepartmentID =
(SELECT DepartmentID
FROM Departments
WHERE Name = 'Sales')
ROLLBACK TRANSACTION
ми показа следната грешка:
"Msg 547, Level 16, State 0, Line 7
The DELETE statement conflicted with the REFERENCE constraint "FK_Departments_Employees". The conflict occurred in database "SoftUni", table "dbo.Departments", column 'ManagerID'.
The statement has been terminated."
Опитах да изпълня следната заявка в рамките на транзакцията:
ALTER TABLE Departments
ADD CONSTRAINT FK_Departments_Employees FOREIGN KEY (ManagerId) REFERENCES Employees (EmployeeId)
ON DELETE CASCADE;
но ми каза, че такъв ключ вече съществува.
Как мога да изтрия all dependent records без да модифицирам ключа ръчно през design? Приемливо решение ли е да изтрия ключа в рамките на транзакцията и да го създам наново вече със ON DELETE CASCADE ?