Problem 22. Delete Employees - " Compile time error "
Здравейте колеги, някой решил ли е Problem 22. Delete Employees от последното домашно от курса. При мен judge казва " Compile time error ", когато изпращам тригера:
CREATE TRIGGER tr_FiredEmployees
ON Employees
INSTEAD OF DELETE
AS
INSERT INTO Deleted_Employees
SELECT EmployeeID, FirstName, LastName, MiddleName, JobTitle, DepartmentID, Salary
FROM deleted
Благодаря много :)
Здрасти!
Как разбра че не трябва да се качва емплой ИД? Нали се казва в условията цялата corresponding information? А и има логика да се запази това айди в тая таблица, не е ли? Ако целта е да знаем точно кого сме изтрили ще го търсим поайди, нали това е целия смисъл да имат айди тия хора?
Благодаря предварително!
Значи ти като си го изтрил това ид вече е неактуално и невалидно.Ти в новата таблица като го вкараш записа ще си има свое ид.
А за човека ти трябва само неговата информация.
В релационните бази данни ид ни помага да навързваме foreign keys и да идентифицираме различните обекти/записи. Но реално в случая ид ти е напълно излишно няма откъде да знаеш кое е изтритото ид и по какъв начин да го търсиш.
Ако беше nosql щяха просто да изтрият целия обект с човека :Д
А теста просто търси определен запис/заявка и ти като подадеш повече ще изгърми нормално.
Като се замислиш е логично примерно имаш няколко милиона записа изтриваш примерно 1 000 001 първия от тях. И няма откъде знаеш че Гошо е точно този запис или е Пешо ти ще го потърсиш по име или по някакъв друг принцип. Сега ако почнеш да си усложняваш живота да пазиш и изтритите ид-та това е отделна тема но е излишно.