Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Firebird SP (https://www.delphipraxis.net/212907-firebird-sp.html)

Walter Landwehr 22. Apr 2023 10:28

Datenbank: Firebird • Version: 2.5 • Zugriff über: IBO

Firebird SP
 
Hallo,
ich habe eine SP bei der in Zeile 2 immer der Fehler Parsing error auftritt. Was mache ich falsch?

Hier die SP

Delphi-Quellcode:
begin
    select DOPPELTE_DIAG from TBL_OPTIONEN into :DOPPELTE_DIAG
    if DOPPELTE_DIAG = 'N' then
    begin
      if (not exists (Select * from tbl_patdiagnose where suchwort = :SUCHWORT and patientnr = :PATIENTNR)) then
      begin
        if (patientnr is not null) then
        begin
           INSERT INTO TBL_PATDIAGNOSE(PATDIAGNOSENR, PATIENTNR, DATUM, DAUERDIAGNOSE, DIAGNOSE,
                     ANLAGE, ANLAGEBENUTZER, DIAGNOSENR, Suchwort, ReferenzTabelle, ReferenzNr,ICD)
           VALUES (Gen_ID(GEN_TBL_PATDIAGNOSE,1), :PATIENTNR, :DATUM, 'N', :Diagnose,
                     :Anlage, :ANLAGEBENUTZER, :DIAGNOSENR, :Suchwort, 'PB', :ReferenzNr,:ICD);
        end
        if (not exists (Select * from tbl_tpatdiagnose where suchwort = :SUCHWORT and Tierenr = :Tierenr)) then
        begin
        if (TiereNR is not null) then
          begin
           INSERT INTO TBL_TPATDIAGNOSE(TPATDIAGNOSENR, TIERENR, DATUM, DAUERDIAGNOSE, DIAGNOSE,
                     ANLAGE, ANLAGEBENUTZER, DIAGNOSENR, Suchwort, ReferenzTabelle, ReferenzNr,ICD)
           VALUES (Gen_ID(GEN_TBL_PATTDIAGNOSE,1), :TIERENR, :DATUM, 'N', :Diagnose,
                     :Anlage, :ANLAGEBENUTZER, :DIAGNOSENR, :Suchwort, 'PB', :ReferenzNr,:ICD);
          end
        end
      end
   end
   else
   begin
       if (patientnr is not null) then
     begin
       INSERT INTO TBL_PATDIAGNOSE(PATDIAGNOSENR, PATIENTNR, DATUM, DAUERDIAGNOSE, DIAGNOSE,
                     ANLAGE, ANLAGEBENUTZER, DIAGNOSENR, Suchwort, ReferenzTabelle, ReferenzNr,ICD)
       VALUES (Gen_ID(GEN_TBL_PATDIAGNOSE,1), :PATIENTNR, :DATUM, 'N', :Diagnose,
                     :Anlage, :ANLAGEBENUTZER, :DIAGNOSENR, :Suchwort, 'PB', :ReferenzNr,:ICD);
     end
     if (not exists (Select * from tbl_tpatdiagnose where suchwort = :SUCHWORT and Tierenr = :Tierenr)) then
     begin
       if (TiereNR is not null) then
         begin
                INSERT INTO TBL_TPATDIAGNOSE(TPATDIAGNOSENR, TIERENR, DATUM, DAUERDIAGNOSE, DIAGNOSE,
                     ANLAGE, ANLAGEBENUTZER, DIAGNOSENR, Suchwort, ReferenzTabelle, ReferenzNr,ICD)
           VALUES (Gen_ID(GEN_TBL_PATTDIAGNOSE,1), :TIERENR, :DATUM, 'N', :Diagnose,
                     :Anlage, :ANLAGEBENUTZER, :DIAGNOSENR, :Suchwort, 'PB', :ReferenzNr,:ICD);
        end
     end
   end    
  suspend;
end

Delphi.Narium 22. Apr 2023 10:35

AW: Firebird SP
 
Fehlt eventuell am Ende der zweiten Zeile das Semikolon?

punktl 22. Apr 2023 12:17

AW: Firebird SP
 
Moin,

also hier?: if DOPPELTE_DIAG = 'N' then

dann würde ich sagen, die Klammern fehlen.

if (DOPPELTE_DIAG = 'N') then ...

Peter

Walter Landwehr 22. Apr 2023 12:54

AW: Firebird SP
 
Danke Euch beiden das war der Fehler Semikolon und Klammer.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:48 Uhr.

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