Server stürtzt bei functionsaufruf ab!
am 29.06.2006 17:57:57 von Stephan Menzelhallo,
ich habe bei einer Funktion das problem,
das mir unter windows 2000 der komplette server abstürtzt, wenn ich die
folgende Funktion aufrufe!
Es liegt so weit ich es herausfinden konnte an der SQL Abfrage von Zeile 25-26
denn wenn ich diese lösche, dann stürtzt der server nicht ab!
Daraufhin führte ich diese abfrage mit festen werten im QueryBrowser aus, wo sie
ohne Probleme bearbeitet wurde!
Ich hatte bei den ersten Tests version 5..0.20a drauf und habe dann das ganze aber auch
noch unter der aktuellen Version getestet 5.0.22, wo das gleiche Problem auftrat!
1 DELIMITER $$
2
3 DROP FUNCTION IF EXISTS `verwaltung`.`loadform` $$
4
5 CREATE FUNCTION `verwaltung`.`loadform` (int_ReIdx INT) RETURNS VARCHAR(161)
6 BEGIN
7 DECLARE Err_Handler INT DEFAULT 0;
8 DECLARE var_Temp VARCHAR(25) DEFAULT NULL;
9 DECLARE var_ReNr VARCHAR(25) DEFAULT NULL;
10
11 DECLARE var_ErrDesc VARCHAR(150) DEFAULT 'Es trat ein Fehler auf!';
12
13 SAVEPOINT LoadForm;
14
15 LOAD_FORM:BEGIN
16 DECLARE EXIT HANDLER FOR SQLEXCEPTION
17 BEGIN
18 SET Err_Handler=0;
19 ROLLBACK TO SAVEPOINT LoadForm;
20 END;
21
22 SELECT `ReNr` INTO var_ReNr FROM tbl_rechnungen_alt WHERE `ReIdx`=int_ReIdx;
23 SET var_Temp = NULL;
24
25 SELECT `tbl_rechnungen_alt`.`ReNr` INTO var_Temp FROM `verwaltung`.`tbl_repositionen_alt` LEFT JOIN `verwaltung`.`tbl_rechnungen_alt`
26 ON (tbl_repositionen_alt.ReIdx=tbl_rechnungen_alt.ReIdx) WHERE `ArtNr_VM2`=var_ReNr LIMIT 1;
27
28 IF NOT var_Temp IS NULL THEN
29 SET var_ErrDesc=CONCAT('Diese Form (', var_Temp, ') existiert bereits');
30 LEAVE LOAD_FORM;
31 END IF;
32
33 END;
34
35 RETURN CONCAT(Err_Handler, ';', var_ErrDesc);
36
37
38 END $$
39
40 DELIMITER ;
cu stephan