Hirdetés
- Eldugott helyek Párizsban, amiket jó eséllyel még nem láttál...
- Samsung Deskmaster 386s/20n
- Keychron K1 V6 Bluetooth/USB-C magyar low profile mechanikus gamer billentyűzet
- Agglegénykonyha 7 – Még egy megosztó – de gyors – étel: resztelt máj
- Amikor a prófécia testet ölt – Finalmouse ULX Prophecy 'Scream' Classic
- Luck Dragon: Asszociációs játék. :)
- Meggyi001: Eldugott helyek Párizsban, amiket jó eséllyel még nem láttál...
- Magga: PLEX: multimédia az egész lakásban
- sziku69: Fűzzük össze a szavakat :)
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- sidi: Samsung Deskmaster 386s/20n
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- sziku69: Szólánc.
- MasterDeeJay: MSI H110M PRO és i3-8350K (coffeetime mod)
- IMG_20250917_090039
Új hozzászólás Aktív témák
-
bpx
őstag
válasz
kisbandima #1163 üzenetére
egyrészt, ha bind változókat használsz, ez így is csak annyi SQL, ahány esetet a feltételek megadása/meg nem adása eredményez
de ha minden esetet egy SQL utasítással akarsz kezelni, ám legyenMSSQL-t nem ismerem, szóval ez amolyan pszeudokód lesz
SELECT oszlop1, oszlop2
FROM tabla
WHERE datum > NVL(:B1, MINDATE)
AND datum < NVL(:B2, MAXDATE)
AND osszeg > NVL(:B3, 0)
AND osszeg < NVL(:B4, INT.MAXVALUE);B1-B4 bind változók, ami user input
ha a user nem ad meg semmit, akkor NULL-t adsz be neki
az NVL arra való, hogy ha az első paramétere NULL, akkor kicseréli a másodikratehát ha a user nem ad meg felső határt a dátumra, akkor a NULL-t kicseréli az NVL a lehetséges legnagyobb dátumra
ha a user nem ad meg alsó határt az összegre, akkor kicseréli 0-ra
és így tovább...ha meg linq vagy ilyesmi, abban nem vagyok otthon (sajnos)
-
martonx
veterán
válasz
kisbandima #1163 üzenetére
Ha már Silverlight, akkor gondolnám, hogy WCF RIA Services-el adod az adatokat, ez esetben LINQ-val simán meg lehet oldani az egészet.
Ha meg nem több millió adatsorról van szó, C#-al, XAML-lel elég szépen lehet memóriában szűrni az adathalmazt. -
Sk8erPeter
nagyúr
válasz
kisbandima #1163 üzenetére
Én is a tárolt eljárásra szavaznék, de nem ártana látni a "favágó" módszert, meg az alap query-t, vagy valami példaszerűséget, hogy meg tudjuk mondani, hogyan tudnád azt szebben elkészíteni.
Pl. a WHERE-ben is lehetne CASE-ek.(#1164) lakisoft :
Most már érdekelne, hogy ez a dynamic SQL miért jó? Ahogy nézegettem, ez igazából egy query feltételektől függő konkatenálgatása, aztán a query "elkészítése" során annak végrehajtása, ami szerintem elég randa.
Akkor már a WHERE-be elhelyezett, kicsit komplex CASE-ek is szebbnek tűnnek.
Persze aztán lehet, hogy csak nem találkoztam durva esetekkel, ahol nincs jobb, ezért kérdezem. -
lakisoft
veterán
válasz
kisbandima #1163 üzenetére
Dynamic SQL? vagy Dynamic SQL és tárolt eljárás?
Új hozzászólás Aktív témák
- Elektromos autók - motorok
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- BestBuy topik
- exHWSW - Értünk mindenhez IS
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Futás, futópályák
- Mobil flották
- Ausztria - élmények, tapasztalatok
- One otthoni szolgáltatások (TV, internet, telefon)
- AMD Navi Radeon™ RX 9xxx sorozat
- További aktív témák...
- Számlás,garanciás SSD-k! Kèszletről!
- AZONNALI SZÁLLÍTÁS Eredeti Microsoft Office 2019 Professional Plus
- Targus DOCK423A - USB-C Dual HDMI 4K HUB - 2 x HDMI (120Hz)
- BESZÁMÍTÁS! ASRock Formula OC RX 6900 XT 16GB videokártya garanciával hibátlan működéssel
- RÉSZLETRE .OPCIONÁLIS. Acer Nitro V ANV15-51-554Z SZÁMLA , GARANCIA
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest