Oracle topic - Szoftverfejlesztés fórum

üzenetek

hozzászólások


Boolash
(aktív tag)

Ismét elakadtam...

JDBC-ben próbálkozom, a java része megy, fordul, de az sql kód nem akar menni.

PreparedStatement statement = con.prepareStatement("
MERGE INTO gep USING (SELECT ? kod, ? tipus FROM DUAL) bejovo
ON (gep.kod = bejovo.kod)
WHEN MATCHED THEN UPDATE SET (gep.tipus = bejovo.tipus)
WHEN NOT MATCHED THEN INSERT (gep.kod, gep.tipus)
VALUES ( bejovo.kod, bejovo.tipus)");

Az adatokat egy beviteli mezőből szedi ( statement.setString(1, TFkod.getText()); stb) Amennyiben megtalálja ugyanazt a "kod"-ú sort, amit mi is beszúrnánk, akkor felülír, ha nem akkor beszúr. (merge)

A gep táblában vannak más oszlopok is, de beállítottam, hogy lehetnek NULL. A "kod" NUMBER, a "tipus" VARCHAR , de ez nem jelethet gondot, mert úgy adom ameg a textfieldben, hogy jó legyen.

ORA-01747: nem megengedett felhasználó.tábla.oszlop, tábla.oszlop vagy oszlop spec.

Fogalmam sincs, hogy ez mit jelenthet, mert eddig minden ment.

Egyébként, amikor a "gep" tábla összes oszlopába szeretnék beszúrni (az összes oszlopnevet megadom hasonlóan a paraméterek közt), akkor a sima SQl hibát dobja, hogy véget ért.
Ötlet esetleg?
Köszi!

üzenetek