将事件历史记录添加到Oracle SQL的过程
我需要用Oracle SQL编写一个过程,将三个表中的数据插入到一个单独的表中,而不使用任何键。以下是我的数据库模型: 。(所有列名均为波兰语,对此表示抱歉) 我已经为历史创建了一个表:将事件历史记录添加到Oracle SQL的过程,oracle,procedure,Oracle,Procedure,我需要用Oracle SQL编写一个过程,将三个表中的数据插入到一个单独的表中,而不使用任何键。以下是我的数据库模型: 。(所有列名均为波兰语,对此表示抱歉) 我已经为历史创建了一个表: create table art_historia( data_koncertu date default sysdate, --Concert date miejsce_koncertu varchar2(40), --Place of concert nazwa_zespolu varch
create table art_historia(
data_koncertu date default sysdate, --Concert date
miejsce_koncertu varchar2(40), --Place of concert
nazwa_zespolu varchar2(30), --Name of band
liczba_widzow number(5), --Number of viewers
bilans_finansowy number (8,2)); --Finance balance
我想用这个过程插入的值,我可以用这个选择来描绘:
select s.miasto, a.nazwa_zespolu, k.ilosc_sprzedanych_biletow, k.zysk
from art_sala s, art_koncert k, art_artysta a
where k.kod_sali_koncertowej = s.kod_sali_koncertowej and
k.kod_artysty = a.kod_artysty and
k.id_koncertu = (variable of concert id);
我该怎么做呢?试试这个
CREATE PROCEDURE INSERT_ART_HIST_P (p_in_concert_id number) IS
BEGIN
INSERT INTO art_historia
select s.miasto, a.nazwa_zespolu, k.ilosc_sprzedanych_biletow, k.zysk
from art_sala s, art_koncert k, art_artysta a
where k.kod_sali_koncertowej = s.kod_sali_koncertowej and
k.kod_artysty = a.kod_artysty and
k.id_koncertu = p_in_concert_id;
END;
我现在看不到图像。虽然:看起来您有一个目标表,您有一个源表,您编写了一个查询。。。那么,问题出在哪里呢?有一个错误行/COL error-------------------------------------------------------------------3/1 PL/SQL:SQL语句忽略了3/13 PL/SQL:ORA-00947:niewystarczająca liczba wartości Errors:check编译器loghmm是因为select需要有5个值,因为表有5列。在查询中返回5个值,或者使用INSERT INTO art_historia(第1列、第2列、第3列)定义要插入的4个值。很抱歉,因为波兰人的名字,我不能解决这个问题