Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo Zusammen!  Ich brauche bitte eure Hilfe. 

Ich habe die  folgende Funktion


create or replace function mafct(error out varchar2, mois_cmpt in varchar2, cercle in varchar2, typ in varchar2)
RETURN BOOLEAN IS
 
ptr number;
 
BEGIN
if typ  != 'M' or 
   typ  != 'E'
   then 
   Dbms_Output.Put_Line(typ );
 
ptr:=ptr+1;
insert into protocol values(' typ falsch '||typ ||' Bitte  M ou E eingeben',null,null,null,ptr);
error:='typ falsch '||typ ||' bitte MBitte eingeben';
commit;
   Dbms_Output.Put_Line(typ);
 
      return (FALSE);
end if;
 
return true
END;

 Wenn ich die Funktion zum Testen aufrufe

declare X boolean;
error varchar2(255);
begin
X:=  mafct (error , '01.2025', 'AZ', 'E');
end;

Ich habe in meine Protokoll Tabelle einen Fehler, dass der Typ falsch wäre.

Warum funktioniert den einfachen Vergleich nicht?

Danke

 

Geschrieben

Du hast einen Logikfehler in deiner if-Bedingung.

vor 6 Stunden schrieb Tedi:

if typ != 'M' or typ != 'E'

Das trifft immer zu, außer wenn typ sowohl M als auch E wäre (schwer möglich). Was du vermutlich willst ist typ != 'M' AND typ != 'E'.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...