[GastForen Programmierung/Entwicklung PHP und MySQL Stored Procedure Problem

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Stored Procedure Problem

bline
Beiträge gesamt: 169

27. Nov 2008, 16:31
Beitrag # 1 von 3
Bewertung:
(2166 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo
Ich bin da am Migrieren einer Datenbank von MSSQL zu MySQL (Kostengründe) und muss da Stored Procedures übernehmen. Dummerweise bei der einfachsten Funktion erhalte ich immer einen Fehler an der gleichen Stelle:

CREATE FUNCTION CalculatePrice( Preis REAL , Marge REAL ) RETURNS REAL
BEGIN
DECLARE CalculatedPrice REAL
SET CalculatedPrice = ROUND( (Preis + Marge)*1.076*20,0)/20
RETURN CalculatedPrice
END

Und zwar auch bei der SET-Anweisung, die auch
SET CalculatedPrice = 1.2
lauten kann.
Sieht da jemand gleich einen Fehler von mir?

Besten dank für Euren Input im voraus.
Hans
X

Stored Procedure Problem

oesi50
  
Beiträge gesamt: 2315

27. Nov 2008, 17:33
Beitrag # 2 von 3
Beitrag ID: #376638
Bewertung:
(2145 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hi bline,

probier mal das:

Code
 
mysql> DELIMITER //
mysql> CREATE FUNCTION CalculatePrice( Preis REAL , Marge REAL ) RETURNS REAL
-> BEGIN
-> DECLARE CalculatedPrice REAL;
-> SET CalculatedPrice = ROUND( (Preis + Marge)*1.076*20,0)/20;
-> RETURN CalculatedPrice;
-> END
-> //
Query OK, 0 rows affected (0.09 sec)

mysql> DELIMITER ;
mysql> SHOW CREATE FUNCTION CalculatePrice;
+----------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Function | sql_mode | Create Function |
+----------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| CalculatePrice | | CREATE DEFINER=`root`@`localhost` FUNCTION `CalculatePrice`( Preis REAL , Marge REAL ) RETURNS double
BEGIN
DECLARE CalculatedPrice REAL;
SET CalculatedPrice = ROUND( (Preis + Marge)*1.076*20,0)/20;
RETURN CalculatedPrice;
END |
+----------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql> select CalculatePrice(100,20);
+------------------------+
| CalculatePrice(100,20) |
+------------------------+
| 129.1 |
+------------------------+
1 row in set (0.02 sec)

mysql>



als Antwort auf: [#376628]
(Dieser Beitrag wurde von oesi50 am 27. Nov 2008, 17:38 geändert)

Stored Procedure Problem

bline
Beiträge gesamt: 169

27. Nov 2008, 17:50
Beitrag # 3 von 3
Beitrag ID: #376641
Bewertung:
(2135 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Oesi
Das ist aber eine nette, diplomatische Antwort. Alle Achtung!
Ich programmiere ja schon ein ganze Weile in versch. Sprachen, aber so einen #*!$-Fehler habe ich schon schon lange nicht mehr produziert. Ist mir ja richtiggehend peinlich :-(.

Für diejenigen, die vorerst nur Bahnhof verstehen: es haben die Semikola bei den Anweisungen gefehlt. Wie dumm von mir!

Besten Dank und beste Grüsse
Hans


als Antwort auf: [#376638]