Einzelnen Beitrag anzeigen

hajo2016

Registriert seit: 10. Nov 2016
Ort: Bad Harzburg
6 Beiträge
 
Delphi XE8 Professional
 
#11

AW: Mysql Feldname ändern

  Alt 13. Nov 2016, 19:16
Hallo nahpets,

danke für Deine Hinweise!

Den Format(Update... habe ich zwar nicht zum laufen bekommen.
Es gab Probleme mit der letzten ')' - ohne ergab Syntaxfehler , mit ergab MySQL-Fehler
Ist aber ein interessanter Ansatz!

Letztlich war der Hinweis auf + CONCAT('+feld2+', ' 06:00:00') entscheidend.

Also Pause gemacht, was getrunken (offensichtlich war mein Oberstübchen trocken gelaufen).

Dann den Concat erst einmal richtig beschrieben und das feld2 so eingebunden wie es auch Sinn macht.
Code:
CREATE DEFINER=`root`@`%` PROCEDURE `VLDAT_INTERVAL`(tableName varchar(255), feld1 varchar(20), feld2 varchar(40), Feld3 Varchar(20), mdatum varchar(18))
BEGIN

set @serial:=0;
set @sqlstmt := CONCAT('UPDATE ', tableName, ' SET ', feld1, ' = ' , feld2, ' + INTERVAL (@serial:=@serial+2) MINUTE where ', feld3, ' = ', mdatum);
PREPARE stmt FROM @sqlstmt;
EXECUTE stmt;

END
Aufruf mit:
Code:
  mdat1:='2016-10-11';
  mdat2:=mdat1+' 06:00:00';
  StoredProc_VLDAT_Interval.Params[0].Value := 'ag_vorlage';
  StoredProc_VLDAT_Interval.Params[1].Value := 'vldat';
  StoredProc_VLDAT_Interval.Params[2].Value := Quotedstr(mdat2);
  StoredProc_VLDAT_Interval.Params[3].Value := 'vordat';
  StoredProc_VLDAT_Interval.Params[4].Value := Quotedstr(mdat1);
  StoredProc_VLDAT_Interval.ExecProc;
Es bestätigt sich wieder: Kaum macht man's richtig, schon geht es!
  Mit Zitat antworten Zitat