Процедура добавления истории события в Oracle SQL - PullRequest
0 голосов
/ 08 февраля 2019

Мне нужно написать процедуру в Oracle SQL, которая вставляет данные из трех таблиц в одну отдельную таблицу без каких-либо ключей.Вот модель моей базы данных:

Model.(Все имена столбцов на польском языке, извините за это).

Я уже создал таблицу для истории:

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);

Как я могу это сделать?

1 Ответ

0 голосов
/ 08 февраля 2019

Попробуйте это

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;
...