Keresés

Részletes keresés

NevemTeve Creative Commons License 2015.09.11 0 0 5358

Az id ne legyen már NULL; inkább azt kellene vizsgálni, kellenek-e azok az id-k, amik csak A-ban vannak, meg azok, amik csak B-ben.

Előzmény: Anne Duffield (5357)
Anne Duffield Creative Commons License 2015.09.11 0 0 5357

Szerintem:

 

Select b.*

  From a,b

 Where a.... = param_1 -- szűrés A táblára

     And a.... = param_2 -- szűrés A táblára

     And b.id = a.id  --a két tábla összekötése mindenféle (+) nélkül

 

Ha azok a rekordok is kellenek, ahol b.id IS NULL akkor

   And NVL(b.id,a.id) = a.id

Előzmény: F1DO (5355)
NevemTeve Creative Commons License 2015.09.11 0 0 5356

Próbáld meg valahogy egy példával szemléltetni, hogy mi a kavarás tárgya...

Előzmény: F1DO (5355)
F1DO Creative Commons License 2015.09.10 0 0 5355

ezt így nehéz lesz elmagyarázni, de az előzőben említett dolog történik...

 

Az A táblából adott feltétel szerint leszűrünk id kat (nincs ismétlés az id-k-ban).

A B táblából ehhez az id-hoz sok rekord tartozik.

 

A B tábla sok rekordját szeretnénk megkapni az A táblában szűrt ID-kra.

 

emiatt a kapcsolás: A.id = B.id(+)

 

ez hogy lehet?

F1DO Creative Commons License 2015.09.10 0 0 5354

Sziasztok,

 

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?

 

 

 

 

dorog.zultan Creative Commons License 2015.09.07 0 0 5353

Igazából két, de összetartozó téma/adatkör van benne, a gond az, hogy most adatok átadása/szolgáltatása miatt külső cégnek ki kell adnunk egy sémát.

Ezért szeretném elrejteni a rendszerünk sémáit (usereit) a külsősöktől. Ha nem megy másként, külön DB lesz belőle egy sémával és dblink-es táblákkal.

Előzmény: halaloszto (5352)
halaloszto Creative Commons License 2015.09.07 0 0 5352

jól érzem hogy több olyan dolog van a DBben, aminek nincs köze egymáshoz és nem is kellene tudjanak egymásról?

erre való a pluggable database.

 

Vajk

Előzmény: dorog.zultan (5350)
halaloszto Creative Commons License 2015.09.07 0 0 5351

amíg a public grant ott van, addig mindenki látja. tudtommal nincs allow-deny-allow-deny hierarchia.

 

Vajk

Előzmény: dorog.zultan (5350)
dorog.zultan Creative Commons License 2015.09.07 0 0 5350

Igen, lehet hogy pongyolán fogalmaztam, sry.

Nincs más megoldás, csak amit a 2. pontban leírtál?

Nagyon nyűgös lenne, mivel elég sok a séma, és a nem várt problémák is várhatóak sajnos,

az SP-re épülő APEX-es alkalmazás miatt még inkább...

Előzmény: halaloszto (5349)
halaloszto Creative Commons License 2015.09.07 0 0 5349

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!

 

Vajk

Előzmény: dorog.zultan (5348)
dorog.zultan Creative Commons License 2015.09.07 0 0 5348

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ő.

Előzmény: halaloszto (5347)
halaloszto Creative Commons License 2015.09.07 0 0 5347

revoke select on all_users ?

 

Előzmény: dorog.zultan (5346)
dorog.zultan Creative Commons License 2015.09.07 0 0 5346

Annyi még, hogy elég lenne, ha azokat a schema-kat nem látná, ami felhasználó által készített schema (az alkalmazás schema-i),

a rendszer schema-kat látja az nem gond.

Előzmény: dorog.zultan (5345)
dorog.zultan Creative Commons License 2015.09.07 0 0 5345

Sziasztok!

 

Hogy lehet azt megoldani, hogy egy adott ORACLE user csak azt a schema-t lássa az adatbázisban, amelyikbe beloginolt?

 

SQL> select * from all_users t;

 

USERNAME                      USER_ID CREATED
------------------------------ ---------- -----------
TEST_SCHEMA                          46 10.03.30 10

NevemTeve Creative Commons License 2015.08.05 0 0 5344

Azon belül stored procedure vagy névtelen blokk? A hívó kicsoda/micsoda?

Előzmény: F1DO (5343)
F1DO Creative Commons License 2015.08.05 0 0 5343

Bocsánat, PL/SQL-ban 

Előzmény: NevemTeve (5342)
NevemTeve Creative Commons License 2015.08.05 0 1 5342

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.

Előzmény: F1DO (5341)
F1DO Creative Commons License 2015.08.05 0 0 5341

Másképp kérdezve: ahány paramétert át akarok adni egy selectnek annyi cursort kell deklarálni?

NevemTeve Creative Commons License 2015.08.05 0 0 5340

Valamilyen kontextusban, vagy csak úgy általában? És mi az a cursor-al?

Előzmény: F1DO (5338)
halaloszto Creative Commons License 2015.08.05 0 0 5339

declare

  cursor c1(p_empno in number) is

    select * from emp where empno=p_empno;

  l_rec c1%rowtype;

begin

  open c1(10);

  fetch c1 into l_rec;

...

 

end;

/

 

Vagy nem plsql-ből kell?

Előzmény: F1DO (5338)
F1DO Creative Commons License 2015.08.05 0 0 5338

Sziasztok,

 

Még egy kérdésem lenne: több szűrőfeltétellel rendelkező selectnek paramétert át lehet adni cursor-al?

F1DO Creative Commons License 2015.08.05 0 0 5337

Sziasztok,

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
                                      )

givons2 Creative Commons License 2015.07.04 0 0 5336

Egészen véletlenül nem 10.3.6 illetve 10.3.3 a Weblogic verziószáma ?

A 10.0.x darabok 2007-ben lettek bevezetve.

 

 

Előzmény: CzMaya84 (5333)
GregWonder Creative Commons License 2015.07.03 0 0 5335

Sziasztok!

 

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?

 

Köszönöm szépen előre is a segítséget!

NevemTeve Creative Commons License 2015.06.25 0 0 5334

Távolbalátással kellene, vagy személyesen, vagy hogyan képzeled?

Előzmény: CzMaya84 (5333)
CzMaya84 Creative Commons License 2015.06.25 0 0 5333

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.

dorog.zultan Creative Commons License 2015.06.23 0 0 5332

Köszönöm mindenkinek, a cél csak kiolvasás volt, ezt meg is oldottam egy select into -val

Azért fura hogy nincs erre célfüggvény, no mindegy.

givons2 Creative Commons License 2015.06.19 0 0 5331

Igaz, igaz, mintha csak magam mondtam volna...

:)

Előzmény: halaloszto (5330)
halaloszto Creative Commons License 2015.06.18 0 0 5330

a plsql long változó az max 32k, a long táblaoszlop meg nagyobb :-(

Előzmény: givons2 (5328)
halaloszto Creative Commons License 2015.06.18 0 0 5329

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?

 

Vajk

Előzmény: dorog.zultan (5327)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!