В MySQL есть хранимая процедура следуещего вида:
Код: Выделить всё
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `insert_into_whate_absence`(IN time_out TIME,IN time_came TIME, IN date_in DATE, IN staff_in INT(11), why_in VARCHAR(80))
BEGIN
DECLARE iCount INT;
SELECT COUNT(*) INTO iCount FROM whate_absence WHERE staff_staff_id = staff_in AND date = date_in;
IF iCount != 0 THEN
SELECT 'absence_NOW';
ELSE
INSERT INTO whate_absence (time_out, time_came, date, staff_staff_id, why) VALUE (time_out, time_came, date_in, staff_in, why_in);
END IF;
END
DELIMITER ;
Код: Выделить всё
mysql> CALL insert_into_whate_absence('9:00', '13:00','2012-05-01', 18, 'Уехал к маме');
+-------------+
| absence_NOW |
+-------------+
| absence_NOW |
+-------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
Если процедура отрабатывает на INSERT, то код работает без проблем.
Почему так?
Если все делать из консоли mysql>, то все работает.
Если предоставленной информации не достаточно, скажите, что еще показать.