Zapytanie w PL/SQL

0

Witam ,

próbuje napisać update na bazę oracle

mój kod

 UPDATE s
SET s.number = w.number
FROM CASE s
JOIN Dokument d on d.CASEID =s.ID
JOIN Paper w on w.DOKUMENTID =d.ID and w.number is NOT NULL 
WHERE s.number IS NULL 
AND s.secondNumber IS NULL
AND s.FIRSTNAME = w.FIRSTNAME
AND s.SURNAME = w.SURNAME;

Chce updatowac wszystkie wiersze z warunkami jak powyższej, w Oracle jednak zapytanie nie działa , proszę o pomoc oraz wskazówki

0

Po pierwsze jaki błąd Ci oracle zwraca, po drugie składania jakiej użyłeś teorytycznie zadziała w MSSQL w Oracle ... raczej nie gdyż można to zrobić tak:

UPDATE table1 t1
   SET (name, desc) = (SELECT t2.name, t2.desc
                         FROM table2 t2
                        WHERE t1.id = t2.id)
 WHERE EXISTS (
    SELECT 1
      FROM table2 t2
     WHERE t1.id = t2.id )

lub tak:

UPDATE (SELECT t1.id, 
               t1.name name1,
               t1.desc desc1,
               t2.name name2,
               t2.desc desc2
          FROM table1 t1,
               table2 t2
         WHERE t1.id = t2.id)
   SET name1 = name2,
       desc1 = desc2

Kolejna rzecz, która rzuciła mi się w oczy to FROM CASE s czy CASE u ciebie to nazwa tabeli? Nie wiem czy przypadkiem to nie jest też problem

1 użytkowników online, w tym zalogowanych: 0, gości: 1