MSSQL bool visszatérés

MSSQL bool visszatérés
2020-01-24T08:16:15+01:00
2020-01-24T08:36:58+01:00
2022-10-15T21:16:04+02:00
pixx
Sziasztok!

Adott egy MSSQL tábla, amiben meg akarom vizsgálni, hogy van-e olyan rekord, aminek az adott oszlopban az értéke azonos a keresett értékkel.
Próbáltam megoldani, hogy

SELECT * FROM [Tabla] WHERE [Idegenkulcs] = @keresett;

és

command.ExecuteNonQuery(); segítségével majd megkapom, hogy hány sor érintett, de mivel lekérdezés volt és nem egyéb CrUD művelet, így -1 lett a visszatérés.

Én azt szeretném, ha úgy működne mint pl egy foreach ciklusba ágyazott if fetétel C#-ban, hogy ha megvan az adat, akkor break; -el kiugorjon, ne fusson tovább feleslegesen.

Tehát, ha a query megtalált legalább 1 db egyező adatot, kapjak egy true-t, vagy egy 1-est vagy bármit, és ne fusson tovább.

Köszönöm!
Mutasd a teljes hozzászólást!
Bár az MSSQL-hez nem értek, gyors guglizás alapján így tudod korlátozni a visszaadott sorok számát:

SELECT TOP(1) FROM [Tabla] WHERE [Idegenkulcs] = @keresett;
Így neked vagy egy sor jön vissza, ha van legalább egy, vagy nulla, ha nincs. A "ciklusból kilépést" még az adatbáziskezelő oldja meg, nem neked kell.

A másik megközelítés a COUNT(*) szelektálása, ami ugyan meg kell hogy keresse az összes előfordulást, de neked már csak a darabszámot küldi el, tehát ha a cél a programod és az adatbázis közötti forgalom csökkentése, akkor ez is segíteni fog.
Mutasd a teljes hozzászólást!

  • Nem valami  SELECT COUNT(SELECT * FROM [Tabla] WHERE [Idegenkulcs] = @keresett) ;
    Mutasd a teljes hozzászólást!
  • Bár az MSSQL-hez nem értek, gyors guglizás alapján így tudod korlátozni a visszaadott sorok számát:

    SELECT TOP(1) FROM [Tabla] WHERE [Idegenkulcs] = @keresett;
    Így neked vagy egy sor jön vissza, ha van legalább egy, vagy nulla, ha nincs. A "ciklusból kilépést" még az adatbáziskezelő oldja meg, nem neked kell.

    A másik megközelítés a COUNT(*) szelektálása, ami ugyan meg kell hogy keresse az összes előfordulást, de neked már csak a darabszámot küldi el, tehát ha a cél a programod és az adatbázis közötti forgalom csökkentése, akkor ez is segíteni fog.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd