AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken [MySQL] Create function geht nicht (mehr) --> Gelöst
Thema durchsuchen
Ansicht
Themen-Optionen

[MySQL] Create function geht nicht (mehr) --> Gelöst

Ein Thema von fkerber · begonnen am 23. Aug 2010 · letzter Beitrag vom 23. Aug 2010
Antwort Antwort
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#1

[MySQL] Create function geht nicht (mehr) --> Gelöst

  Alt 23. Aug 2010, 12:13
Datenbank: MySQL • Version: 5 • Zugriff über: phpMyAdmin
Hi!

Ich würde gerne folgende function in die DB hauen:

SQL-Code:
CREATE FUNCTION `nextGID`(seqname CHAR(20)) RETURNS int(10) unsigned
BEGIN
INSERT INTO global_seq VALUES (seqname,LAST_INSERT_ID(1))
ON DUPLICATE KEY UPDATE val=LAST_INSERT_ID(val+1);
RETURN LAST_INSERT_ID();
END
DAs muss auch so oder so ähnlich funktioniert haben, das oben stammt nämlich direkt aus einer DB, wo die Funktion drin ist (SHOW CREATE FUNCTION ...)

Leider ist die einzige Antwort:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 4

Zeile 4 nach seiner Interpreation ist scheinbar VALUES (


Wo ist der Fehler?


Liebe Grüße,
Frederic
Frederic Kerber

Geändert von fkerber (23. Aug 2010 um 12:49 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: [MySQL] Create function geht nicht (mehr)

  Alt 23. Aug 2010, 12:19
Müsste es nicht
SQL-Code:
INSERT INTO global_seq(Feld1,Feld2) --Felder explizit benennen
VALUES (seqname,LAST_INSERT_ID(1))
heißen? Ich müsste aber einmal nachschauen, ob MySQL sich da evtl. anders verhält.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: [MySQL] Create function geht nicht (mehr)

  Alt 23. Aug 2010, 12:21
Heisst die Spalte genauso wie der Parameter?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#4

AW: [MySQL] Create function geht nicht (mehr)

  Alt 23. Aug 2010, 12:25
Hi,

normal geht es auch ohne Feldangaben, wenn es alle sind, ändert aber leider auch nix.
Und es ist nicht der selbe Name - mit Feldnamen sieht es so aus:

SQL-Code:

CREATE FUNCTION `nextGID`(seqname CHAR(20)) RETURNS int(10) unsigned
BEGIN
INSERT INTO global_seq(name,val) VALUES (seqname,LAST_INSERT_ID(1))
ON DUPLICATE KEY UPDATE val=LAST_INSERT_ID(val+1);
RETURN LAST_INSERT_ID();
END
Das Ergebnis ist leider das gleiche...


EDIT:
Der DELIMITER wars schuld.
Daher musste erstmal ne neue phpMyAdmin-Version her, die die Eingabe des selben ermöglicht...


Liebe Grüße,
Frederic
Frederic Kerber

Geändert von fkerber (23. Aug 2010 um 12:49 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz