ugrás a tartalomhoz

MySQL error 1336, prepared statement nélkül?

eBandee · 2013. Aug. 24. (Szo), 10.25
Van egy egyszerű tárolt eljárásom, ami bizonyos feltételeknek megfelelően ír egy adattáblába rekordokat. A beszúrandó sor értékei egy részét az eljáráson belül állítom elő úgy, hogy lekérdezem egy másik táblából.
Az első INSERT híváskor azonban a következő hibaüzenetet kapom: ERROR 1336 (0A000): Dynamic SQL is not allowed in stored function or trigger
Tudomásom szerint ez a hibaüzenet csak prepared statement-ek hívásakor (belefutottam 1x-2x) fordulhat elő, na de jelen esetben ilyesmiről szó nincs.

Lehet hogy én vagyok ismételten vak, vagy tudatlan, de már 1 napja nem jövök rá, mi okozhatja a problémát, pedig tényleg próbáltam utána járni.

Ha valakinek van erre ötlete, nagyon megköszönném!

UPDATE:
Ubuntu server 12.04, MySQL 5.5.32 környezeten lefut rendesen,
szóval lehetséges, hogy konfigurációs hiba lesz... :/

Környezet:
* Win 8 x64
* mysql 5.6.12

A kód:
  1. CREATE DEFINER=`root`@`localhost` PROCEDURE `INSERT_POINT_HISTORY`(  
  2.     IN e_code VARCHAR(4), IN e_match_id INTIN e_person_id INT  
  3. )  
  4. BEGIN  
  5.     DECLARE v_px VARCHAR(3) DEFAULT NULL;  
  6.     DECLARE v_pv DECIMAL(6,2) DEFAULT 0.0;  
  7.     DECLARE v_epv DECIMAL(6,2) DEFAULT 0.0;  
  8.   
  9.     IF (SELECT COUNT(*) FROM tbl_point WHERE code LIKE e_code) > 0 THEN  
  10.   
  11.         SELECT position_x INTO v_px  
  12.         FROM tbl_pitch_position  
  13.         WHERE match_id = e_match_id AND person_id = e_person_id;  
  14.   
  15.         SELECT `value` INTO v_pv  
  16.         FROM tbl_point  
  17.         WHERE `code` LIKE e_code;  
  18.   
  19.         IF v_pv <> 0.00 THEN  
  20.             -- Eddig fut le a kód...  
  21.             INSERT INTO   
  22.             tbl_point_history (  
  23.                 `match_id`,`person_id`,`point_code`,`position_x`,`time`,`value`  
  24.             ) VALUES (  
  25.                 e_match_id,e_person_id,e_code,"",NOW(),v_pv  
  26.             );  
  27.         END IF;  
  28.   
  29.         IF v_px IS NOT NULL THEN  
  30.             SELECT DISTINCT `value` INTO v_epv  
  31.             FROM tbl_extra_point  
  32.             WHERE `point_code` LIKE e_code AND `position_x` LIKE v_px;  
  33.   
  34.             IF v_epv <> 0.00 THEN  
  35.                 INSERT INTO   
  36.                 tbl_point_history (  
  37.                     `match_id`,`person_id`,`point_code`,`position_x`,`time`,`value`  
  38.                 ) VALUES (  
  39.                     e_match_id,e_person_id,e_code,v_px,NOW(),v_epv  
  40.                 );  
  41.             END IF;  
  42.         END IF;  
  43.     END IF;  
  44. END