Laden...

"IF ELSE" in SqlCommand möglich?

Erstellt von Maddinel vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.846 Views
Maddinel Themenstarter:in
1.371 Beiträge seit 2004
vor 14 Jahren
"IF ELSE" in SqlCommand möglich?

verwendetes Datenbanksystem: SQL Server 2005 Express Edition

Hallo,

ich frage mich gerade, ob es möglich ist eine etwas komplexere SQL-Abfrage über ein SqlCommand zu tätigen? Warum frage ich sowas? Naja, weils bei mir aus irgend einem Grund im SqlCommand nicht funktioniert, allerdings im Abfragefenster des Management Studio schon.

Meine SQL-Anweisung:

IF (SELECT Anzahl FROM Produkte WHERE ID=@ID) <= @BuyAnzahl BEGIN UPDATE Produkte SET Anzahl=0 WHERE ID=@ID; END ELSE UPDATE Produkte SET Anzahl=Anzahl-@BuyAnzahl WHERE ID=@ID;

==============================
Wenn ichs wüsst', würd' ich nicht fragen!!! 😁
==============================

D
496 Beiträge seit 2005
vor 14 Jahren

was heisst funktioniert nicht?
Fehlermeldung?

"Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life."

Maddinel Themenstarter:in
1.371 Beiträge seit 2004
vor 14 Jahren

Keine. Es läuft durch, passiert aber nix. 😦

==============================
Wenn ichs wüsst', würd' ich nicht fragen!!! 😁
==============================

D
496 Beiträge seit 2005
vor 14 Jahren

so wie ich das sehe ist dein sql cmd nicht einer sondern mehrere ich schätze mal das nur der erste ausgeführt wird wenn du das über den SQLcommand machst.

"Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life."

71 Beiträge seit 2008
vor 14 Jahren

die anweisung benütze ich zum teilen. ich hoffe, dass es dir weiterhilft.

select (zaehler*100)/(case when nenner < 1 then 1 else nenner end)
from tabelle

Maddinel Themenstarter:in
1.371 Beiträge seit 2004
vor 14 Jahren

Gut, klar, es handelt sich um mehrere verschachtelte Anweisungen, aber wenn ich z.B. sowas mache:

SELECT ID FROM TABLE WHERE Zahl>0; SELECT Name FROM OtherTABLE

Das funktioniert ja auch problemlos, obwohl es sich um mehrere Anweisungen handelt.

==============================
Wenn ichs wüsst', würd' ich nicht fragen!!! 😁
==============================

P
63 Beiträge seit 2005
vor 14 Jahren

Hallo,

warum verwendest du nicht eine Prozedur? Was spricht dagegen?

mfg phlekk

Maddinel Themenstarter:in
1.371 Beiträge seit 2004
vor 14 Jahren

Könnte ich eigentlich auch machen, aber würde mich trotzdem interessieren, ob das nicht so geht.

==============================
Wenn ichs wüsst', würd' ich nicht fragen!!! 😁
==============================