- Dragon Age: Origins
- Alig egy nap múlva végre bemutatkozik az Assassin's Creed Shadows
- Forza sorozat (Horizon/Motorsport)
- Fallout 4
- War Thunder - MMO Combat Game
- Xbox Series X|S
- Fortnite - Battle Royale & Save the World (PC, XO, PS4, Switch, Mobil)
- Steam topic
- World of Tanks - MMO
- Genshin Impact (PC, PS4, Android, iOS)
- Elektromos rásegítésű kerékpárok
- bb0t: Gyilkos szénhidrátok, avagy hogyan fogytam önsanyargatás nélkül 16 kg-ot
- antikomcsi: Való Világ: A piszkos 12 - VV12 - Való Világ 12
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
Új hozzászólás Aktív témák
-
martonx
veterán
válasz half333 #3013 üzenetére
Ha 15mb-os, akkor ahonnan kiexportáltad, ott fogod és scriptet generálsz, nem pedig DB Backup-ot csinálsz. A scriptedben nem lesz más, mint a db sémád, és egy rakás insert. Ez se lesz sokkal több, mint 16MB.
Aztán a scriptet fogod és lefuttatod az SQL Server 2014 alatt, és voilá.Én kérek elnézést!
-
martonx
veterán
válasz Jim Tonic #3033 üzenetére
Szerintem ebben az esetben egy teljesen sima tárolt eljárás lenne a megoldás, persze trigger-rel is meg lehet csinálni csak nem elegáns, a triggereket érdemes kerülni, amennyire lehet.
Azaz a sima insert-ed helyett, amit egy trigger figyel, írsz egy tárolt eljárást, annak átadod a paramétereket, és az magán belül intézi az insert-et, kikeresést, és ha kell a másik táblába insert-et.
Én kérek elnézést!
-
martonx
veterán
Ehhez group by-t kellene használnod plusz valami aggregátor függvényt (mondjuk count). Példa nélkül ennél konkrétabb segítséget nem fogsz kapni.
Azaz kóddal, meg ciklusokkal, meg ilyesmikkel nem kell bohóckodnod, pusztán az SQL mindezt megcsinálja neked, ráadásul sokkal gyorsabban mintha program kóddal szeded össze az adatokat.Én kérek elnézést!
-
martonx
veterán
Nem értettem teljesen a kérdésedet, de valami ilyesmi dinamikus lekérdezést szeretnél?
https://www.mssqltips.com/sqlservertip/1160/execute-dynamic-sql-commands-in-sql-server/
Azaz exec ('select * from table') - ahol a stringed igaziból bármi lehet, azt szépen végig fogja hajtani az sql motor.
Én kérek elnézést!
-
martonx
veterán
-
martonx
veterán
Szerintem teljesen rossz az alapállásod a feladathoz. Neked Accessben alap formokat, táblákat kell definiálnod, amiknek közük nincs a fejedben élő Excelhez.
Csinálsz egy formot, ahol bekéred a készlet mozgást, utána pedig Access SQL-el kezeled a többit. Ugyanakkor szólok, hogy szvsz nagyon nem az Access a megfelelő eszköz erre így 2016-ban, bár programozási tudás híján talán mégis (bár még akkor se, bár akkor semmi megoldás sem jó ).
Én kérek elnézést!
-
martonx
veterán
válasz martonx #3103 üzenetére
Pontosítok, nyilván a tábla struktúrádnak olyannak kell lennie, hogy abból a végén kinyerhetőek legyenek az adatok valami olyasmi kimenetbe, mint amit a belinkelt képen mutattál. Azaz pl. lenne egy ruha táblád, egy gyerek táblád, meg egy mozgás táblád például.
Én kérek elnézést!
-
martonx
veterán
Mondjuk Microsoft vonalon maradva Visual Studio LightSwitch 2015 (szólok előre, hogy ingyenes). Jobb, mint az Access, mert:
1. bármilyen teljes értékű SQL lehet alatta, mondjuk MS SQL
2. webes kimenetet generál neked, azaz Access el ellentétben bárhol bármikor, akárhány konkurens userrel tudjátok használni.Nem Microsoft vonalon is van egy csomó ehhez hasonló eszköz.
"A táblák megvannak, formok is vannak bevitelhez, egyszerűbb lekérdezésekhez is, csak ez a qrva "excel" nem megy a készlettel."
No ez az, dobd ki az egész eddigit, és írd újra azzal a megközelítéssel, amit fentebb mondtam. Bármilyen eszközzel is fogsz végül nekiállni, amit mondtam mindegyikre igaz lesz. 100%, hogy alapjaiban elhibázott az adat tábla struktúrád, és így nyilván a rájuk épülő formok is.Én kérek elnézést!
-
martonx
veterán
Hát nem SQL-ből Azaz fogod és írsz egy PowerShell scriptet mondjuk, ami ütemezve fut (Windows scheduler ugye). És a scripten belül azzal kezded, hogy letöltöd a file-t, ha ez sikerült, akkor tovább mész, és üríted a temp táblát bulk insertelsz. Ha ez sikerült, akkor mehet a végleges betöltés.
Én kérek elnézést!
-
martonx
veterán
Sziasztok,
A probléma szemléltetésére csináltam egy SqlFiddle-t. Csináltam egy rekurzív select-et (ami valószínűleg nem is az igazi), ráadásul nekem nem is ilyen végeredmény kellene, de kiindulásnak talán jó.
Szóval a példában adottak országok, megyék, városok. A példából nekem valami ilyet kellene kihoznom:AreaId, AreaFlow
4, Canada > Saskatchewan > Saskatoon
6, United States > Florida > MiamiMit kellene a rekurzív selectemen módosítani, hogy ezt a kimenetet adja?
Én kérek elnézést!
-
martonx
veterán
Hopp, és közben meg is csináltam.
Ez lett a végső megoldás:
WITH AreasCTE AS
(
SELECT AreaID, AreaName, ParentAreaID,
cast(AreaName AS varchar(255)) AS AreaPath
FROM dbo.Area
WHERE ParentAreaID is null
UNION ALL
SELECT a.AreaID, a.AreaName, a.ParentAreaID,
cast(s.AreaPath + ' > ' + a.AreaName AS varchar(255)) as AreaPath
FROM Area a
INNER JOIN AreasCTE s ON a.ParentAreaID = s.AreaID
)
SELECT AreaID, AreaPath
FROM AreasCTE ac
ORDER BY 1Viszont a hülye SQL fiddle meghal rajta, miközben lokális SQL szerveren szépen működik, és ez a lényeg.
[ Szerkesztve ]
Én kérek elnézést!
-
martonx
veterán
válasz kezdosql #3226 üzenetére
Majd idővel ez a tapasztalat is megérik benned, minden munkánál vannak jelek, amikből könnyű következtetni, hogy van-e értelme foglalkozni a dologgal. Az Acess2000-ről (még most is röhögök ahogy leírtam) szinte már üvölt, hogy kerüld el minél messzebbre azt a céget, aki ezt használja, és nem is hajlandó másra.
Én kérek elnézést!
-
martonx
veterán
válasz FIREBLADE78 #3232 üzenetére
De mit hogyan kell???
Hagyjad, ez így nem fog menniÉn kérek elnézést!
-
martonx
veterán
válasz Peter Kiss #3285 üzenetére
Azt nem mondtam, hogy nem kell vele dolgozni, de itt sírni sincs értelme, hogy jaj mit tegyek, hiszen csak a létező összes oszlopot össze kell gyűjteni, és ez mind határoz meg egy entitást.
Ezután szépen fel kell tölteni az összes adatot az összes ismert oszloppal, és máris kész a feladat. Hogy közben elröppen pár hónap, kihullik pár megőszült hajszál, az vele jár.
Azt meg ki nem szarja le, hogy végül egy Excelben vagy egy nosql táblában, vagy tsql táblában lesznek tárolva az adatok. Legkézenfekvőbb az excel lenne.Én kérek elnézést!
-
martonx
veterán
-
martonx
veterán
Ez így is van, csak jelzem, hogy éppen a saját ajánlásuk miatt MSSQL-ben a foreign key az automatikusan indexelődik. Meglepődnék ha más SQL-eknél ez nem pont ugyanígy lenne.
Azaz továbbra is fenntartom, hogy manuálisan külön felesleges indexet kreálgatni FK-hoz, ha azt előtte már úgyis automatikusan megcsinálta a db motor.Én kérek elnézést!
-
martonx
veterán
Szia!
--megkeresed a neked megfelelő collationt
SELECT * FROM sys.fn_helpcollations()
--majd alkalmazod
CREATE DATABASE CaseSensitive
COLLATE SQL_Latin1_General_CP1_CS_AS --így, de ez csak egy példa, ez épp nem a hungarian
select 'a' C union
select 'á' C union
select 'b' C
order by C
select N'a' C union
select N'á' C union
select N'b' C
order by CAmi a sorba rendezős kérdésedet illeti, tudtommal MSSQL-nél ezt így nem tudod megadni. Ha az adat típus varchar, akkor ha a fene fenét eszik is nem unicode rendező algoritmust fog az sql engine rá használni.
Ám ha az adat típus nvarchar (azaz unicode varchar), akkor meg ha a fene fenét eszik is unicode rendező algoritmust fog rá használni.De igaziból lehet, hogy elég a fenti kódrészletem, és a jól beállított collation, és máris jó lesz a sorba rendezés? Vagy a kettő együtt? Lusta voltam kipróbálni, írd majd le a nyerő kombinációt!
Én kérek elnézést!
-
martonx
veterán
válasz htcwanted #3333 üzenetére
Catfathern válasza teljesen jó.
Viszont teljesítményben nem éppen optimális. A MERGE adja a legjobb teljesítményt, viszont azt nem két sor használni, bár nem is olyan vészes.
Hozzáteszem, ha viszont mindig csak új adatot kell hozzáadni, akkor ez nyilván jobb teljesítményt fog hozni, mint egy merge:INSERT tbl_A (col, col2)
SELECT col, col2
FROM tbl_B
WHERE NOT EXISTS (SELECT col FROM tbl_A A2 WHERE A2.col = tbl_B.col);Én kérek elnézést!
-
martonx
veterán
válasz Sixkiller6 #3426 üzenetére
sqlfiddle.com használatánál nincs egyszerűbb, és ingyenesebb. Nem is értem mások miért szívatnak
Én kérek elnézést!
-
martonx
veterán
ahol pár egyszerű lekérdezést meg tudnék mutogatni
Szerintem csak bénán fogalmazott emberünk, mert fel sem tételezte, hogy létezik ilyen weboldal, mint az sqlfiddle
Hiszen szemlátomást rohadtul nem kell neki tényleges SQL szerver otthonra.[ Szerkesztve ]
Én kérek elnézést!
-
martonx
veterán
válasz PumpkinSeed #3472 üzenetére
"szükségem van végetelen master-master replikációra" - mert miért is? Nekem ez architekturális tervezési hibának tűnik, mikor valakitől ilyet hallok.
Én kérek elnézést!
-
martonx
veterán
válasz PumpkinSeed #3478 üzenetére
Én egy adatbázist használnék, a régiónkénti szerverekhez pedig csak egy-egy saját cache-t (mondjuk redis vagy ilyesmi) tennék. Amikor bármi bemegy a DB-be, az X percen belül úgyis be fog futni a cache-be, semmi értelme kismillió adatbázissal szórakozni. Szerintem.
Illetve tényleg van értelme minden régióba szervert tennetek? Ez egy sima webszerver, nem media streaming vagy ilyesmi. Nálunk pl. az egész világot egy szál szerverről Írországi adatközpontból szolgáljuk ki, és nagyon nem lassú (nyilván ami késleltetés Nyugat-EU-ban 20ms, az USA-ban 60, Ausztráliában meg akár 100ms fölé is mehet, de ennyi latencyvel simán együtt lehet élni, ahelyett hogy emiatt elkezdenénk görbíteni a teret). A szerver mellé pedig régiónként vannak média streaming szervereink.
A legújabb rendszerünk pedig régiónként elosztva készül (saját pixel tracking maximum 5ms-os késleltetése miatt kritikus, hogy közel legyen a felhasználóhoz), mindegyik régiónak van egy saját kis fis-fos NoSql-je (kvázi cache-ként fogható fel), és egy sync service-e, ami bizonyos időközönként, események hatására szinkronizálja a lokális NoSql-t az egyetlen központi MS SQL szerverrel.
Én kérek elnézést!
-
martonx
veterán
válasz GreenIT #3485 üzenetére
"A problema lenyege az, hogy ha van egy elvaras, hogy egy tablaba kell felvenni nehany adatot, de kiderul, hogy az adatok egy resze tobb mas adattol fugg, akkor mi legyen az eljaras?
Legyinteni, hogy ha nektek ez kell, akkor legyen, vagy megprobalni egy jo megoldast kitalalni es meggyozni a feladatot adot, hogy van jobb megoldas?"Egyre kevésbé értelek. Eddig ezért sem szóltam hozzá a "kérdéseidhez". Életvezetési tanácsokat vársz itt az SQL topikban, vagy önmenedzselési tanácsokat, vagy szakmai tanácsokat konkrét szakmai kérdésekre? Mert nagyon nem mindegy. Ha beküldesz egy SQL fiddle-el megtámogatott query-t, hogy mit és hogyan kellene, abban simán segítünk. De az ilyen szintű kérdésekre, hogy vajon hogyan tároljam a ki tudja milyen adatot, mégis mit vársz tőlünk? A feladatot sem ismerjük, de valószínűleg a megismeréséhez is több óra kellene, ami simán meghaladja egy jószolgálati alapokon nyugvó topik segítőkészségének a határát.
Életvezetési problémák megoldásához meg biztos, hogy nem ez a megfelelő topik, noha off-ban akár tudunk ez irányban is tanácsokat adni, de minek ide szemetelni?Én kérek elnézést!
-
martonx
veterán
válasz GreenIT #3496 üzenetére
Szia,
Szerintem nem csak ezek a lehetőségeid vannak. Ráadásul az adatbázis struktúra miért kellene, hogy bármennyire is befolyásolja az adatrögzítést? A kettőnek nagyon kevés köze van egymáshoz
Válassz olyan adat struktúrát, amilyet csak akarsz, az semmiben nem fogja befolyásolni az adatrögzítést.
Mivel a pontos feladatot nem ismerjük (nem is akarjuk megismerni a fent említett okok miatt), így ennél konkrétabb választ úgy sem fogsz tudni kapni.Én kérek elnézést!
Új hozzászólás Aktív témák
- Dragon Age: Origins
- Júliustól kötelező biztosítást kell fizetni egyes rollerek után is!
- Háztartási gépek
- Anyagi katasztrófára figyelmezteti az Apple-t a brit média
- Internet Rádió építése (hardver), és programozása
- Milyen autót vegyek?
- Samsung Galaxy A54 - türelemjáték
- A fociról könnyedén, egy baráti társaságban
- Építő/felújító topik
- Alig egy nap múlva végre bemutatkozik az Assassin's Creed Shadows
- További aktív témák...
Állásajánlatok
Cég: Alpha Laptopszerviz Kft.
Város: Pécs
Cég: Ozeki Kft.
Város: Debrecen