Просмотр исходного кода

Fix triggers for koresp path field

Piotr Labudda 11 лет назад
Родитель
Сommit
ef4d77a038
1 измененных файлов с 7 добавлено и 1 удалено
  1. 7 1
      SE/superedit-DB_PROCEDURES_CREATE.php

+ 7 - 1
SE/superedit-DB_PROCEDURES_CREATE.php

@@ -239,7 +239,10 @@ END
 $sql['drop__IN7_DZIENNIK_KORESP_tree_INSERT']="DROP TRIGGER IF EXISTS  `_IN7_DZIENNIK_KORESP_tree_INSERT`";
 $sql['create__IN7_DZIENNIK_KORESP_tree_INSERT']="CREATE DEFINER=`root`@`localhost` TRIGGER `_IN7_DZIENNIK_KORESP_tree_INSERT` BEFORE INSERT ON `IN7_DZIENNIK_KORESP` FOR EACH ROW BEGIN
 
+IF NEW.ID_PROJECT IS NOT NULL THEN
 	SET NEW.path = IN7_MK_BAZA_DYSTRYBUCJI_hierarchy_sys_connect_by_path('-', NEW.ID_PROJECT);
+END IF;
+
 END
 ";
 
@@ -252,10 +255,13 @@ END
 $sql['drop__IN7_DZIENNIK_KORESP_tree_UPDATE']="DROP TRIGGER IF EXISTS  `_IN7_DZIENNIK_KORESP_tree_UPDATE`";
 $sql['create__IN7_DZIENNIK_KORESP_tree_UPDATE']="CREATE DEFINER=`root`@`localhost` TRIGGER `_IN7_DZIENNIK_KORESP_tree_UPDATE` BEFORE UPDATE ON `IN7_DZIENNIK_KORESP` FOR EACH ROW BEGIN
 
-IF NEW.ID_PROJECT<>OLD.ID_PROJECT THEN 
+IF NEW.ID_PROJECT is null THEN
+	SET NEW.path = '';
+ELSEIF OLD.ID_PROJECT IS NULL or NEW.ID_PROJECT<>OLD.ID_PROJECT THEN 
 	SET NEW.path = IN7_MK_BAZA_DYSTRYBUCJI_hierarchy_sys_connect_by_path('-', NEW.ID_PROJECT);
 
 END IF;
+
 END
 ";