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!