AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mysql Feldname ändern

Ein Thema von hajo2016 · begonnen am 10. Nov 2016 · letzter Beitrag vom 13. Nov 2016
 
nahpets
(Gast)

n/a Beiträge
 
#10

AW: Mysql Feldname ändern

  Alt 13. Nov 2016, 10:24
Schau Dir bitte mal genau an, was für eine Zeichenfolge hierbei + CONCAT('+feld2+', ' 06:00:00') + herauskommt.

Wenn also StoredProc_VLDAT_Interval2.Params[1].Value := Quotedstr(mdat1); mit dem obigen zusammengefügt wird, kommt da niemals eine gültige Zeichenfolge für ein SQL-Statement heraus.
SQL-Code:
CREATE DEFINER=`root`@`%` PROCEDURE `VLDAT_INTERVAL`(tableName varchar(255), mdatum varchar(20), feld1 varchar(20), feld2 varchar(20))
BEGIN

set @serial:=0;
set @sqlstmt := CONCAT('UPDATE ', tableName, ' SET ' + feld1 + ' = ' + feld2 + ' " 06:00:00" INTERVAL (@serial := @serial + 2) MINUTE where ' + feld2 + ' = "' + mdatum + '"');
PREPARE stmt FROM @sqlstmt;
EXECUTE stmt;
END
(Hab' kein MySQL zur Verfügung, so dass ich nicht prüfen kann, ob ich hier jetzt irgendwo Syntaxfehler eingebaut habe.)

Wird bei MySQL in der Fehlermeldung nur der Hinweis auf die Fehlerposition ausgegeben, oder enthält die Fehlermeldung eventuell auch das ganze Statement? Wenn ja, poste das hier doch bitte mit, dann lassen sich Syntaxfehler besser erkennen.

Alternativ könntest Du auch so vorgehen:
SQL-Code:
CREATE DEFINER=`root`@`%` PROCEDURE `VLDAT_INTERVAL`(v_stmt varchar(4096))
BEGIN

set @serial := 0;
set @sqlstmt := v_stmt;
PREPARE stmt FROM @sqlstmt;
EXECUTE stmt;
END
Delphi-Quellcode:
var
   sSQL : String;
begin
  ...
  mdat1 := '2016-10-11';
  sSQL := Format('UPDATE %s SET %s = %s + %s INTERVAL (@serial := @serial + 2) MINUTE where %s = %s;', ['ag_vorlage', 'vldat', 'vordat', QuotedStr(' 06:00:00'),'vordat', QuotedStr(mdat1)]);
StoredProc_VLDAT_Interval2.Params[0].Value := sSQL;
StoredProc_VLDAT_Interval2.ExecProc;

Geändert von nahpets (13. Nov 2016 um 23:51 Uhr) Grund: Fehler in sSQL behoben
  Mit Zitat antworten Zitat
 

 

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 04:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz