Недостаточно значений при вставке строки в оракул
Я пытаюсь вставить строку, выбрав некоторые данные из другой таблицы.
insert into spb (id_barang,nama_barang,qty,lokasi_tujuan,lokasi_asal,waktu)
values
((select stg.id_barang,stg.nama_barang,calculate_req_stok(display.max_stok,display.stok,display.pcs_in_ctn,display.id_barang),display.lokasi,stg.lokasi
from display
inner join stg
on display.nama_barang = stg.nama_barang
where stg.stok >= calculate_req_stok(display.max_stok,display.stok,display.pcs_in_ctn,display.id_barang) * display.pcs_in_ctn),current_time_ms);
Он показывает эту ошибку: ORA-00947: недостаточно значений. Я не знаю, что вызывает это, хотя я вставил достаточно значений
1 ответ
Неправильный синтаксис; удалять
values
и переместите последнее значение для вставки (
current_time_ms
) в
select
список столбцов:
INSERT INTO spb(
id_barang,
nama_barang,
qty,
lokasi_tujuan,
lokasi_asal,
waktu
)
(SELECT stg.id_barang,
stg.nama_barang,
calculate_req_stok(
display.max_stok,display.stok,
display.pcs_in_ctn,
display.id_barang
),
display.lokasi,
stg.lokasi,
current_time_ms
FROM display
INNER JOIN stg ON display.nama_barang = stg.nama_barang
WHERE stg.stok >=
calculate_req_stok
(display.max_stok,display.stok,
display.pcs_in_ctn,
display.id_barang
) * display.pcs_in_ctn
);