Einzelnen Beitrag anzeigen

DelphiDeveloper

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

Re: InterBase-SQL ,SELECT -Anweisung

  Alt 26. Feb 2004, 12:35
interbase kennt von hause aus sowas nicht,
muesste man in einer SP dort machen

die SP in interbase wuerde etwa so aussehen
Code:
CREATE PROCEDURE GET_FIRST_VALUE_BLOCKENDE (
    INPUT_VALUE INTEGER
   )
RETURNS (
    OUT_BLOCKANFANG INTEGER,
    OUT_KENNUNG VARCHAR(10))
AS
DECLARE VARIABLE HA INTEGER;
DECLARE VARIABLE HB VARCHAR(10);
BEGIN
  HA = -1;
  HB = '';
  OUT_BLOCKANFANG = -1;
  OUT_KENNUNG = '';
  FOR SELECT B.BLOCKANFANG, B.KENNUNG FROM
  BLOCK B
  WHERE (B.BLOCKENDE >= :INPUT_VALUE)
  ORDER BY B.BLOCKANFANG
  INTO :HA, :HB
  DO
  BEGIN
    IF (:HA <> -1) THEN
       OUT_BLOCKANFANG = :HA;
    IF (:HB <> '') THEN
       OUT_KENNUNG = :HB;

    SUSPEND;
    EXIT;   // HIERDURCH NACH ERSTEN SATZ SP BEENDET
  END
  SUSPEND; // FUER DEN FALL DASS NICHTS GEFUNDEN WIRD
END
aber muss es unbedingt interbase sein, bei firebird wuerde es so gehen

select first 1 * from tabellenname
where ...
  Mit Zitat antworten Zitat