AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi if-Abfrage bei NULL Werten
Thema durchsuchen
Ansicht
Themen-Optionen

if-Abfrage bei NULL Werten

Ein Thema von Hansa · begonnen am 9. Dez 2004 · letzter Beitrag vom 11. Dez 2004
Antwort Antwort
Hansa

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

if-Abfrage bei NULL Werten

  Alt 9. Dez 2004, 12:58
ich setze hiermit 2 SQL-Statements ab:

SQL-Code:
    UPDATE LAGER SET BESTAND = BESTAND + :MENGE WHERE (ID_ART = :ID_ART) AND BESTAND IS NOT NULL;
    UPDATE LAGER SET BESTAND = :MENGE WHERE (ID_ART = :ID_ART) AND BESTAND IS NULL;
Kann man das nicht mit einer If- Abfrage machen ? Es geht darum, je nachdem, ob MENGE NULL ist die entsprechende Aktion auszuführen. Also so was wie :

SQL-Code:
IF MENGE IS NULL THEN
UPDATE ....
Irgendwie geht das aber nicht.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#2

Re: if-Abfrage bei NULL Werten

  Alt 9. Dez 2004, 13:10
Hallo Hansa,

ich nehme an, du nutzt Firebird!?

Eine IF Abfrage wäre dann im Rahmen einer StoredProcedure möglich.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#3

Re: if-Abfrage bei NULL Werten

  Alt 9. Dez 2004, 13:14
Zitat von Hansa:
ich setze hiermit 2 SQL-Statements ab:

SQL-Code:
    UPDATE LAGER SET BESTAND = BESTAND + :MENGE WHERE (ID_ART = :ID_ART) AND BESTAND IS NOT NULL;
    UPDATE LAGER SET BESTAND = :MENGE WHERE (ID_ART = :ID_ART) AND BESTAND IS NULL;
Kann man das nicht mit einer If- Abfrage machen ? Es geht darum, je nachdem, ob MENGE NULL ist die entsprechende Aktion auszuführen. Also so was wie :

SQL-Code:
IF MENGE IS NULL THEN
UPDATE ....
IF - Abfragen innerhalb einer UPDATE Anweisung funktionieren nicht.
Aber mit COALESCE oder CAST klappt es:
    UPDATE LAGER SET BESTAND = COALESCE(BESTAND, 0.0) + :MENGE WHERE (ID_ART = :ID_ART)
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.338 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: if-Abfrage bei NULL Werten

  Alt 9. Dez 2004, 15:38
Falls du Oracle einsetzt:
Da heißt das Ding nvl(Bestand, 0)
Peter
  Mit Zitat antworten Zitat
Hansa

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

Re: if-Abfrage bei NULL Werten

  Alt 9. Dez 2004, 16:40
Zitat von MrSpock:
Hallo Hansa,

ich nehme an, du nutzt Firebird!?

Eine IF Abfrage wäre dann im Rahmen einer StoredProcedure möglich.
Das ganze ist innerhalb einer SP. Ja, aber kein Oracle. Igitt.

Nur was ist :

COALESCE Was soll denn das sein ?
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.338 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: if-Abfrage bei NULL Werten

  Alt 9. Dez 2004, 17:55
[quote="Hansa"]
Zitat von MrSpock:
Ja, aber kein Oracle. Igitt.
Warum "Igitt"?
Ich bin sehr zufrieden damit.
Peter
  Mit Zitat antworten Zitat
Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#7

Re: if-Abfrage bei NULL Werten

  Alt 11. Dez 2004, 00:09
Code:
[b]coalesce[/b](Wert1,Wert2,...WertN)
liefert den ersten der Wertereihe (von vorn angefangen), der nicht NULL ist
wenn also
Code:
Wert1 = [color=red][b]NULL[/b][/color] und
Wert2 = [color=red][b]NULL[/b][/color] und
Wert3 = [color=green][b]'Hier bin ich'[/b][/color]
dann liefert:
Code:
[b]coalesce[/b](Wert1,Wert2,Wert3)
den Wert:
Code:
[color=green][b]'Hier bin ich'[/b][/color]
Gruß
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  Mit Zitat antworten Zitat
Hansa

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

Re: if-Abfrage bei NULL Werten

  Alt 11. Dez 2004, 00:27
Zitat von Jasocul:
Ja, aber kein Oracle. Igitt.
ja, glaube ich. 8) Aber wer bezahlt es ?
Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:53 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