Начиная с SQL сегодня. Читайте о слиянии с обновлением, вставкой и т. Д. Хотите знать, как правильно (эффективно) сделать это сейчас, пытаясь сделать следующее:
Table1
+-------+------+
| L_ID | N_D |
| 1700 | 21 |
| 1400 | 1 |
| 2400 | 1 |
| 1500 | 1 |
| 1800 | 1 |
| 2500 | 1 |
| 2700 | 1 |
+-------+------+
Table2
+-------+------+
| L_ID | N_D |
| 1000 | - |
| 1100 | - |
| 1200 | - |
| 1300 | - |
| 1400 | - |
| 1500 | - |
| 1600 | - |
+-------+------+
Значения N_D из таблицы1 должны быть вставлены в соответствующий L_ID таблицы2, если нет совпадения, следует вставить 0.
Мой текущий фрагмент кода для этого следует, но выдает ошибку ORA-00911: invalid character
MERGE INTO Table2 x
USING (SELECT L_ID, N_D FROM Table1) y
ON (x.L_ID = L_ID)
WHEN MATCHED THEN
UPDATE SET x.N_D = y.N_D
WHEN NOT MATCHED THEN
x.N_D = 0