ha outer join-al kapcsolunk össze két táblát és ennek eredményeképp van két (eltérő adattartalmú) rekordunk ugyanazon ID-ra, és az egyik oszlop mezőértéke NULL, míg a másikban ugyanazon nevű oszlop mezőértéke not null, akkor a null érték helyére beíródik a not null értéke - mikor a közös id-ra hivatkozunk?
1. nem a semat latja. a sema az az objektumok osszessege. ha nincs a tobbi sema objejtumaira select-je, nem latja oket.
2. az usereket latja. az all_usersben.
ertem hogy ez gond lehet. alapból a public-nak van select-je (meg synonymja) az all_users-re. ha nem tetszik, akkor el kell venni a publictol, es odaadni egyesevel azoknak akik lathatjak a tobbi user letezeset. sosemcsinaltam, nemvárt mellékhatások lehetnek!
Az a gond ezzel, hogy akkor nem csak a TEST_SCHEMA nem látja a többit, hanem az egyéb schema-k sem lesznek egymás számára láthatóak, ez meg sajnos nem megengedhető.
A kontextus alatt olyasmit értek, hogy Pro*C vagy Sql*Plus vagy Pl/Sql ... olyasmire gondolj, mintha nem lenne telepátia, hanem csak szavakból értenénk meg egymást.
Az ügyben kérnék segítséget, útbaigazítást, hogy jól gondolom-e a megoldást a következő problémára: Adott egy szállás foglalási adatbázis tábla, amiben ügyfél ID, és foglalási dátum oszlopok vannak - adott időszakra. (ugyfel_id, foglalt_honap [201401, 201402, .. 201507-ig formátumban]
Le kellene szűrni az ügyfél mozgásokat, azon ID-kat, akiknek egyáltalán nincs foglalásuk (rekordjuk) adott hónapra (foglalt_honap oszlopban).
Előfordulhat olyan eset hogy pl adott ugyfel id-nak foglalása első 3 hónapra nincs (nincs rekordja), utána végig van a többi hónapban, illetve első 10 hónapra van, utána nincs, és van olyan ügyfél akik teljesen végig minden honapra van foglalása.
A mozgó ügyfelek leszűrésére a not in, illetve not exists használatára gondoltam, azonban használatukban nem vagyok teljesen biztos..
-- not in:
SELECT t.ugyfel_id, t.foglalt_honap FROM tabla t WHERE t.foglalt_honap NOT IN (SELECT DISTINCT t2.foglalt_honap FROM tabla t2) -- itt ugyanaz a tábla
-- not exists: SELECT t.ugyfel_id, t.foglalt_honap FROM tabla t WHERE NOT EXISTS (SELECT t2.ugyfel_id, FROM tabla t2 -- itt ugyanaz a tábla WHERE t.ugyfel_id = t2.ugyfel_id AND t2.foglalt_honap IN (SELECT DISTINCT t3.foglalt_honap FROM tabla t3) -- itt ugyanaz a tábla )
Adott egy Oracle 11g db szerver, amire szeretnék Java Source kódot befordítani. Maga a kód készen van, parancssorosan kipróbálva, fut hiba nélkül. Van azonban neki három külső .jar függősége, amiket ugye a Java Source futtatás előtt be kéne tölteni az Oracle-be. Ezt sqlplus-szal meg is tettem (DBA-ként), ezzel a paranccsal mindhárom fájllal: "exec dbms_java.loadjava('-r -jarasresource ./external-jar-file-one.jar');" (ORACLE_HOME-ba áthelyezve előtte a .jar-okat)
A parancs le is fut ezt kapom válaszként: "PL/SQL procedure successfully completed."
A probléma azzal van, hogy a beolvasott .jar-ok mindegyik osztálya INVALID (USER_ERRORS táblában: referenced object XY could not be resolved), így a Java kód befordítása is úgy végződik, hogy "Compiled with errors", mert nem tudja feloldani a bereferenciázott objektumokat.
Kérdésem az lenne, hogy mit csinálok rosszul? Kihagyok valamit? Miért invalidok ezek az osztályok?
Sziastok telepitettem a Oracle Weblogic 10.3.0.6 weblogicot. Minden ok szerver fut minden ok. Viszont van egy forráskód csomag amit be kell ebbe raknom az sem baj. 2012 ben távozzott a cégtől egy kolléga kit nem ismerek. Ő állította ezt be. ÉS ilyen képernyőképes megoldással doki is van róla. viszont ott minden 10.0.3 verzójű. ami ugye változott. és a dokis alapján nem tudom megcsinálni ebben szeretném a segitségedet kérni.
van to_lob függvény, ami lob-ot csinál belőle. utánna a dbms_lob.substr-el tudsz belőle kiszedni amit akarsz meg ilyenek.
de a lényeg, hogy ez csak arra jó hogy átmásold a táblát. használhatod update, insert select, create table as select utasításban, de nem mint mezei plsql függvény.
szóval az a kérdés hogy dolgozni akarsz vele, vagy egyszer átkonvertálni a táblát?