Hirdetés
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- gban: Ingyen kellene, de tegnapra
- Toomy: FOXPOST régen jó volt, de ma már jobban jársz ha elfelejted.
- btz: Internet fejlesztés országosan!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Gurulunk, WAZE?!
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Magga: PLEX: multimédia az egész lakásban
Új hozzászólás Aktív témák
-
updog
őstag
válasz
Apollo17hu
#4338
üzenetére
SYS vs SYSTEM - lényegében a saját user létrehozásán kívül ne nagyon használd ezeket
Ha a minta sémákat (HR, OE ilyenek) felraktad, akkor azokkal csatlakozhatsz (lényegében séma = user), amúgy nem nagyon van más user (SYS-szel futtatva SELECT * FROM ALL_USERS;megmutatja).A PDADMIN gondolom valami hasonló a PDB-k kezelésére, de mivel 11g óta nem használtam Oracle-t erről nem tudok nyilatkozni és gyors google nem segített
.SQL Developeren szerencsére semmit nem kell beállítani egy darab connection hozzáadásán kívül, és igen, utána mókolhatsz

-
updog
őstag
válasz
Apollo17hu
#4335
üzenetére
Egy Oracle XE kicsit overkill lehet pár táblás projektre, inkább mysql-t mondanék vagy sqlite-ot. De az Oracle-lel sincs baj ha nem egy krumpli a géped (régebbi laptopomat pl. kicsit megfektette ha service-ként futott automatikusan indítva).
Amire te gondolsz próbaverzió alatt, az szerintem az a PLSQL Developer, ami tényleg fizetős (ez ugye csak egy IDE), de ez független az adatbázistól, és az Oraclenek is van erre teljesen ingyenes megoldása (Oracle SQL Developer, ami egyébként több fajta DB-hez is csatlakozik nem csak Oracle-hez).
Amúgy az Oracle DB-ből akár az Enterprise-t is felrakhatod magadnak ingyen, korlátozás nélkül az összes feature-rel, ha csak otthon használod saját projektre
Na de az tényleg overkill lenne 
-
updog
őstag
válasz
user112
#4151
üzenetére
Nem tudsz ugyanazon a queryn belül aliasra hivatkozni. Rakd az egészed még egy selectbe.
--Eredeti:
select (1+2+3+4+5) as osszeg from dual;
--Invalid identifier-t ad:
select (1+2+3+4+5) as osszeg, osszeg+5 from dual;
--Megoldás:
select osszeg, osszeg+5 from(select (1+2+3+4+5) as osszeg from dual);Nyilván másik aliassal (mezővel) is így működik, nem csak konstansokkal:
select osszeg, osszeg+ertek from(select (1+2+3+4+5) as osszeg, 5 as ertek from dual); -
updog
őstag
válasz
david199801
#4081
üzenetére
(#4079) doeeg második bekezdés. A SYSTEM user alá vagy bejelentkezve, ami nagyon nem jó. Nem azokat a táblákat kéne kitörölni (
tényleg szólj az oktatónak ha ő javasolta hogy ezzel lépjetek be), hanem saját user alatt kéne csinálni a játékot 
De hogy segítsek is a konkrét kérdésnél: ha jobb gombbal kattintasz a Tables (filtered)-re, lesz egy Apply filter menüpont, klikk oda. Itt egyesével hozzá tudod adni, hogy milyen táblákat akarsz látni, praktikusan NAME = VEVŐ, NAME = KÖNYVEK stb. feltételeket állíts be (upper/lowercase-re lehet hogy figyelni kell (ha pl. egyikféleképp nem működik), az ékezet se túl szerencsés a táblanevekben), "Match any" beállítással. + gombbal tudsz hozzáadni. Így nem fog látszani, csak az a tábla, amit te akarsz.
De attól hogy nem látod, még ott lesznek, továbbra sem javasolt a SYSTEM alatt garázdálkodni

-
updog
őstag
válasz
david199801
#4078
üzenetére
Nézd meg, van-e valami ID a vevő táblában, és referálj arra (ha nincs, adj hozzá, trigger+sequence töltheti).
A screenshotból adódóan egy megjegyzés: a SYSTEM user alá nem nagyon illik semmit csinálni kézzel
Készíts egy játszós usert (google: oracle create user) vagy használd a sample sémákat (hr, oe, ilyenek).oracle.com tele van jobbnál jobb tutorialokkal (ha kifejezetten Oracle-t kell használni), nem nagyon lehet megúszni ha nem adják le szájbarágósan (nem szokták). Pl. [link]
-
updog
őstag
válasz
david199801
#4070
üzenetére
Létezik-e már Könyvek tábla, annak k_nev oszlopa, illetve Vevő tábla és/vagy r_nev oszlopa?
-
updog
őstag
válasz
#74220800
#3952
üzenetére
A
like '[0-9]'az pontosan a '[0-9]' stringgel hasonlítja össze az egy darab karaktered
A funkció amit keresel, a REGEXP_LIKE. -
updog
őstag
válasz
soldi3r
#3927
üzenetére
Az Oracle-nek teljesen jól használható dokumentációja van, ha nem ragaszkodsz a könyvekhez

-
updog
őstag
Sziasztok!
Oracleben csak SQL használatával van lehetőség bármilyen módon transzponálni fix oszlop- és sorszámú eredményhalmazt aggregálás nélkül? (tehát pivot/unpivot kilőve, legalábbis én nem tudtam megoldani vele, mert nincs kapaszkodó hozzá)

-
updog
őstag
A válasz: attól függ
Ha DATE típusú a meződ, és indexált, akkor nyilván ha egy DATE-tel hasonlítod össze (TO_DATE), akkor végigrohan az indexen és kidobja amit keresel.Ellenben ha ezt a meződ TO_CHAR-ozod, nem fogja tudni használni az indexet. (pl.) Oracle-ben itt lehet csavarni egyet a dolgon function based indexszel, csinálhatsz olyan indexet, ami nem a mezőt, hanem a TO_CHAR(mező)-t indexeli, akkor ugyanolyan gyors lesz.
Amúgy ha nem lenne index a mezőn, kb. mindegy lenne performancia szempontból, praktikusan a TO_DATE(feltétel)-t szokták használni, ha a mező DATE.
(#3618) -Zeratul- jepp.
Egyszer én is futottam egy hasonlóba (DATE mezőn volt index, és TO_CHAR-ozták, hogy egy string-gel összehasonlítsák... Mekkora volt az öröm mikor mutattam hogy 500%-os performancia javulás történt, miután átírtam 
-
updog
őstag
Megoldás (#3387) Ispy nyomán (azért még nem 100%-os, mert mondjuk évente 2-3x kérik hogy valamelyik napi adatokat küldjük már újra, na akkor majd ez nem lesz jó
).SELECT * FROM MEGRENDEL
WHERE (STATUSZ <> 0
OR STATUS = 0 AND ADAT_ERKEZETT = SELECT MAX(ADAT_ERKEZETT) FROM MEGRENDEL)
AND ... --itt még van 1-2 business feltétel -
updog
őstag
Kicsit hülyén fogalmaztam meg, illetve egy dolgot kihagytam: nem működhet a dátumos dolog, mert az ADAT_ERKEZETT értéke mindig a business nap szerinti dátum, ezt program adja hozzá.
Tehát: ma este (is) akár éjfél előtt, akár éjfél után kaphatjuk a fájlt, 20170509-es értéket fogunk oda beírni. Sajnos ez is benne van a pakliban.
Szóval gyanús hogy legalább egy segédtábla lesz a vége, rendelési szám + elküldve mezőkkel, aztán belefonom a viewba... csak ugye ezt se szerettem volna.
-
updog
őstag
Sziasztok,
Félig SQL, félig logikai dilemmám lenne: minden hétköznap(!) este érkezik hozzánk a megrendeléseket tartalmazó adatfile, amit rámergelünk az előző adatokra.
Betöltés után kell generálnunk egy kimeneti fájlt. A trükk az, hogy amíg a megrendelés státusza nem végleges (legyen mondjuk 0), addig minden nap újra meg újra ki kell tennünk a fájlba, akkor is ha aznap nem módosult, de ha aznap váltott 0-ra, akkor aznap kell még exportálni, de utána többször nem.
Egy view-ból generáljuk az adatokat, és ha csak mód van rá, szeretném úgy megoldani, hogy a táblába ne kelljen hozzáadni az "elküldve" vagy hasonló oszlopot, csak a view módosításával viszont nem látom, hogy ezt a "utoljára még elküldöm de többször nem" feltételt hogy írjam meg, ha az utolsó státuszváltás után nem változik a rekord (tehát a feltételnek igaznak kell lennie aznap amikor érkezett, de utána már nem).
Példa:
MEGR MEGR_DATUM MOD_DATUM STATUSZ ADAT_ERKEZETT
---- ---------- --------- ------- -------------
1234 20170502 null 1 20170502Új megrendelés 2017.05.02-n, betöltés után kimentjük fájlba.
03-án nem módosul a rekord, de exportáljuk.
MEGR MEGR_DATUM MOD_DATUM STATUSZ ADAT_ERKEZETT
---- ---------- --------- ------- -------------
1234 20170502 170504 2 20170504Státusz módosult, nem végleges státusz, exportáljuk.
05-én nem módosul, de exportáljuk
MEGR MEGR_DATUM MOD_DATUM STATUSZ ADAT_ERKEZETT
---- ---------- --------- ------- -------------
1234 20170502 170506 0 20170508Státusz módosult (6-án!), amikor megérkezett a módosítás (május 8!) még kigeneráljuk, de 9-én és utána már nem.
(M)Nyilván eddig megvan:
SELECT * FROM MEGRENDEL WHERE STATUSZ <> 0
AND ... --itt még van 1-2 business feltétel
;Ami a triviális megoldás hogy felveszek egy ELKULDVE oszlopot, és küldés után updatelem 1-re, és hozzáadom a feltételt:
AND NVL(ELKULDVE,0)=0De mivel a tábla tisztán business adatokat tartalmaz, nem nagyon tetszene senkinek, ha én ilyen technikai jellegű oszlopot felvennék. Sajnos sysdate-re alapuló feltétel se játszik mert a beérkező fájl jöhet éjfél előtt, után, vagy akár aznap ki is maradhat, akkor másnap kétnapi adat megy be.
-
updog
őstag
"Valójában nem értem, hogy niért lenne rá szükség" A válasz (nem) meglepő: mert azt mondták

Komolyra fordítva: a projekt megköveteli, hogy igazoljuk, hogy az átvitel során az adatok nem változnak. Mivel van közte pár finomság (spéci MS típusok alfanumerikus és LOB szinten is), amik nincsenek konkrétan Oracleben, implicit konverzió is történik, ahol ha jól értem, nem garantált a konzisztencia (nyilván 99.99%-ban megoldja a driver, és random beleselectálva ezt is látjuk, de ha MS lennék, én se írnám le sehova hogy 100%.
+ugye példa nem bizonyít
A biznisznek meg egy dokumentáció kell, ahol le van írva hogy 100%. -
updog
őstag
Igen, köszi, őrá én is ráakadtam, épp várom hogy a kolléga tesztelje a túloldalt (ebbe se menjünk bele, hogy miért így van
)De az MSDN-n amit találtam doksit, aszerint nem biztos hogy ez kell nekem. Az Oracle SELECT-et eszik, és a teljes resultset hash-ét dobja vissza, ez nem úgy tűnik. Persze még azt is tesztelem, hogy pl. mi van a LOB oszlopokkal, null-okkal, ilyesmi.
-
updog
őstag
Sziasztok,
SQL Serverről DBlinken Oracle-be áthozott adatok (nem, nincs más út
) integritását kellene ellenőriznem, Oracle oldalon találtam az alábbit, jónak tűnik, MSSQL alá tudtok hasonló function-t? Köszi!"The DBMS_SQLHASH.GETHASH function applies one of the supported cryptographic hash algorithms to the result set of the SQL statement."
Új hozzászólás Aktív témák
- ÚJ, bontatlan Playstation 5 slim digital + EA Sports FC26 2 év garancia!
- Asztali PC , i7 7700 , 1660 Super , 16GB RAM , 256GB NVME , 500GB HDD
- 8GB DDR3 1600Mhz SO-DIMM , Laptop RAM
- LG 32GP850-B 32'' Sík QHD 165 Hz 16:9 G-Sync/FreeSync NanoIPS Gamer Monitor - Karácsonyi akcióban!
- RYZEN 7 5800X + hűtött VRM-es A520 alaplap + 32GB hűtőbordás DDR4 kit! GAR/SZÁMLA (a Te nevedre)!
- HP Thunderbolt-dokkoló, 120W G4 (4J0A2AA)
- 3db - Dell Alienware 18 Area-51 AA18250 18" - Intel Core Ultra 9 275HX, 64GB, 2TB SSD, RTX 5090
- Samsung Galaxy S10 Lite 128GB (Kijelző törött)
- Jawbone Up okoskarkötő, aktivitásmérő
- BESZÁMÍTÁS! MSI B450M R5 5500 16GB DDR4 512GB SSD RX 6600XT 8GB DeepCool CC560 Thermaltake 730W
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Ha a minta sémákat (HR, OE ilyenek) felraktad, akkor azokkal csatlakozhatsz (lényegében séma = user), amúgy nem nagyon van más user (SYS-szel futtatva
.
![;]](http://cdn.rios.hu/dl/s/v1.gif)
tényleg szólj az oktatónak ha ő javasolta hogy ezzel lépjetek be), hanem saját user alatt kéne csinálni a játékot

Egyszer én is futottam egy hasonlóba (DATE mezőn volt index, és TO_CHAR-ozták, hogy egy string-gel összehasonlítsák... Mekkora volt az öröm mikor mutattam hogy 500%-os performancia javulás történt, miután átírtam

