Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2010, 09:30   #1
crazy horse
ios developer
Старожил
 
Аватар для crazy horse
 
Регистрация: 16.11.2007
Сообщений: 2,885
Вопрос Mysql + trigger

Здравствуйте все. Прошу прощения, если повторяюсь - подобных тем не нашел. Суть проблемы такова: имеется мускул, который исходя из своих религиозных предубеждений динамические запросы в триггере не поддерживает. Необходимо перебрать все колонки в NEW и в случае определенных стечений обстоятельств заменить их значения на значения предыдущей записи. Вот не хочется это дело в лоб решать, руками прописывая каждую колонку, негоже это. Вот и вопрос к вам, всезнающий форум - можно ли это ограничение потаеными тропами обойти или только патчем мускула до postgresql?
Делайте что хотите, но чтобы через полчаса в лесу было светло, сухо и медведь!
crazy horse вне форума Ответить с цитированием
Старый 17.03.2010, 09:34   #2
crazy horse
ios developer
Старожил
 
Аватар для crazy horse
 
Регистрация: 16.11.2007
Сообщений: 2,885
По умолчанию

Цитата:
Сообщение от crazy horse Посмотреть сообщение
Здравствуйте все. Прошу прощения, если повторяюсь - подобных тем не нашел. Суть проблемы такова: имеется мускул, который исходя из своих религиозных предубеждений динамические запросы в триггере не поддерживает. Необходимо перебрать все колонки в NEW и в случае определенных стечений обстоятельств заменить их значения на значения предыдущей записи. Вот не хочется это дело в лоб решать, руками прописывая каждую колонку, негоже это. Вот и вопрос к вам, всезнающий форум - можно ли это ограничение потаеными тропами обойти или только патчем мускула до postgresql?
Зы. вот этот быдлокод:
Код:
BEGIN
    DECLARE LFE DOUBLE;
    DECLARE  LN2O DOUBLE;
    DECLARE  LHe DOUBLE;
    DECLARE  LHr DOUBLE;    
  
    
    select N2O, FE, He, Hr  from `OTK_OL` order by `OTK_OL`.`EDIT_DATE` DESC, `OTK_OL`.`EDIT_TIME`
	DESC LIMIT 1 INTO LN2O,LFE,LHe,LHr;
 
    IF NEW.`FE`="0" OR NEW.`FE`="-1" THEN
       SET NEW.`FE`=LFE;
    END IF;

	IF NEW.`N2O`="0" OR NEW.`N2O`="-1" THEN 
    	SET NEW.`N2O`=LN2O;
	END IF;
    
   	IF NEW.`He`="0" OR NEW.`He`="-1" THEN 
    	SET NEW.`He`=LHe;
    END IF;

   	IF NEW.`Hr`="0" OR NEW.`Hr`="-1" THEN
    	SET NEW.`Hr`=LHr;
    END IF;
END
Зы Сорри, я зомби после бессонной ночи, не ту кнопку ткнул. Append it, please...
Делайте что хотите, но чтобы через полчаса в лесу было светло, сухо и медведь!

Последний раз редактировалось crazy horse; 17.03.2010 в 09:37.
crazy horse вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с MySQL в С++ с использованием библиотеки mysql++ oleg kutkov Visual C++ 5 30.12.2010 16:40
обновление в блоге - Работа с MySQL в С++ с использованием библиотеки mysql++ Pblog Обсуждение статей 0 16.08.2009 16:00
MySQL и C++ airotciv SQL, базы данных 0 23.07.2009 15:08
MySQL нужна библ. для Visual C++ (MySql++) Alexoid Visual C++ 8 07.05.2008 18:29