Софтуерно Инженерство
Loading...
+ Нов въпрос
tihomirj avatar tihomirj 31 Точки

Problem 8. * Delete Employees and Departments от Exercises: Functions, Triggers and Transactions

Когато изпращам решението на задача 8 (решението на Георги от упражнението) джъдж дава - ГРЕШКА ПРИ КОМПИЛАЦИЯ.

http://pastebin.com/AJR14qbq

Някой може ли да обясни какво бъркам?

Съобщението е:

Execution Timeout Expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.

 

Тагове:
0
Databases Basics 15/02/2017 00:01:40
gvanastasov avatar gvanastasov 52 Точки
Best Answer

timeout - или съдията е много зает с друг важни дела, или кода ти прекалено много цикли някъде, но предвид каква ти е query-то си мисля, че е по-скоро първото. Както и да е, погледни ако ти се занимава моето решение, налял съм си нужните данни в една таблица (един вид кеширане, за да не правя join-нове и разни други повтаряеми операции при where-select клаузата) : 

http://pastebin.com/u7wyt8Ju

1
Gesh4o avatar Gesh4o SoftUni Team Trainer 305 Точки

Здравейте,

Пробвайте да пуснете решението още един път. При мен мина без проблем.

Поздрави! :)

0
tihomirj avatar tihomirj 31 Точки

Пробвах и пак не става. Джъджът мисли дълго и накрая дава

Execution Timeout Expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.

Накрая махнах констрейнтите и директно изтрих записите и после пак ги направих констрейнтите  и номрът мина пред джъджа.

1
kgyorev avatar kgyorev -10 Точки

Колега, незнам дали си решил задачата но аз така я направих и ми дава 100 точки

ALTER TABLE `departments` 
DROP FOREIGN KEY `fk_departments_employees`;
ALTER TABLE `departments` 
DROP INDEX `fk_departments_employees` ;
ALTER TABLE `employees_projects` 
DROP FOREIGN KEY `fk_employees_projects_employees`;
ALTER TABLE `employees` 
DROP FOREIGN KEY `fk_employees_employees`;

DELETE FROM `employees`
WHERE `department_id` IN 
    (SELECT d.department_id FROM `departments` AS d 
     WHERE d.name IN ('Production', 'Production Control'));
DELETE FROM `departments` 
WHERE
    name IN ('Production' , 'Production Control');

1