Thema: Delphi Stored pocedure

Einzelnen Beitrag anzeigen

DelphiDeveloper

Registriert seit: 9. Apr 2003
Ort: Köln
256 Beiträge
 
Delphi XE2 Enterprise
 
#36

Re: Stored pocedure

  Alt 19. Mai 2004, 14:28
ich versteht zwar nicht den sinn folgender zeile
IF (L <> 'NOW') THEN LETZTEAENDERUNG = 'NOW';

aber es geht ja hier um ein variables sql statement. Bei Firebird
gibt es hierzu das maechtige feature 'execute statement', damit kann man sowas realisieren.
Unter Interbase gibt es das meines wissens nicht (korrigiert mich wenn dem nicht so ist)

Hier die Prozedure:
Code:
CREATE PROCEDURE HELPME (
    TABNAME VARCHAR(32),
    FIELDNAME VARCHAR(32),
    ID INTEGER)
RETURNS (
    LETZTEAENDERUNG TIMESTAMP)
AS
DECLARE VARIABLE SQL VARCHAR(512);
DECLARE VARIABLE L TIMESTAMP;
BEGIN
  EXECUTE STATEMENT 'SELECT ' || FIELDNAME || ' FROM ' || TABNAME
  || ' WHERE ID = ' || :ID INTO :L;
  IF (L <> current_timestamp) THEN
    LETZTEAENDERUNG = current_timestamp;
  SUSPEND;
END
die systemvariablen now und today sind veraltet, man benutzt künftig besser current_timestamp bzw. current_date

[SORRY WAR ZU SCHNELL UND HABE DEN THREAD NICHT BIS ANS ENDE GELESEN; WAR JA ALLES SCHON BEKANNT BIS AUF DIE SACCHE MIT CURRENT_TIMESTAMP]
  Mit Zitat antworten Zitat