Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Mysql Feldname ändern (https://www.delphipraxis.net/190822-mysql-feldname-aendern.html)

hajo2016 13. Nov 2016 19:16

AW: Mysql Feldname ändern
 
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!


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:41 Uhr.
Seite 2 von 2     12   

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