Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#6

Re: Zeitangabe 1 Jahr in Firebird SQL angeben

  Alt 15. Jan 2007, 00:22
Zitat von mkinzler:
Im Gegensatz zu Hansa würde lagere ich was geht in die Datenbank aus.
Schöner Satz. Ich mache das schon ähnlich. Allerdings kommt nicht alles in die DB, sondern nur das, wo es mit vertretbarem Ausmaß auch Sinn macht. Na gut, ist ja schnell gemacht. In der DB das Jahr eines einzelnen Tabellen-Feldes um 1 zu erhöhen, das könnte man mit solch einer SP machen :

SQL-Code:
SET TERM ^ ;

CREATE PROCEDURE JAHREINSHOEHERANZEIGEN;
RETURNS (
    JAHR_OUT INTEGER)
AS
DECLARE VARIABLE JAHR INTEGER;
DECLARE VARIABLE NR INTEGER;
DECLARE VARIABLE DATUM DATE;
BEGIN
  SELECT NR, DATUM FROM TABLEX A WHERE A.NR = 1600 INTO :NR,:DATUM;
  JAHR = CAST (extract(year from DATUM) AS INTEGER);
  JAHR = JAHR + 1;
  JAHR_OUT = JAHR;
  SUSPEND;
END^

SET TERM ; ^
Ne, so schnell gehts doch nicht. 8) Da wird nur lediglich der erhöhte Wert zurückgeliefert ! Um diesen Wert jetzt auch noch in der DB zu speichern, dazu muss da noch ein Update-Statement rein oder sonstwas. Noch eine SP vielleicht zum speichern ? Die CAST, EXTRACT usw. Syntax ist übrigens nicht ohne.

Zitat von mkinzler:
Warum erst auf den Client Laden, wenn ich den Wert nicht brauche, sondern nur in der Datenbank ändern will?
Sorry, aber meine Kanonenkugeln für Spatzen sind alle.
Gruß
Hansa
  Mit Zitat antworten Zitat