Cześć
Zwracam się z prośbą o pomoc.
Tworząc bazę muszę stworzyć procedurę, która na podstawie danych z dwóch tabel (TCARS i TCUSTOMER) dodawać wiersze do tabeli TRENTAL.
Procedura się kompiluje i wykonuje, ale nie dodaje wierszy. Macie może pomysł co może być problemem ?
Poniżej kod
DESC trental
Name NULL Type
----------- -------- -----------
RENTAL_ID NOT NULL NUMBER
RENTAL_DATE NOT NULL DATE
RETURN_DATE DATE
CAR_ID NOT NULL NUMBER
CUSTOMER_ID NOT NULL NUMBER
USED VARCHAR2(1)
DESC tcustomer
Name NULL Type
----------- -------- ------------
CUSTOMER_ID NOT NULL NUMBER(3)
FNAME NOT NULL VARCHAR2(23)
LNAME NOT NULL VARCHAR2(23)
LIC_NUMBER NOT NULL VARCHAR2(20)
LIC_DATE NOT NULL DATE
RENTAL_ID VARCHAR2(3)
PESEL CHAR(11)
BIRTH_DATE DATE
PHONE_NR NOT NULL VARCHAR2(13)
DESC tcars
Name NULL Type
---------- -------- ------------
CAR_ID NOT NULL NUMBER(38)
CAR_PROD NOT NULL CHAR(20)
CAR_MODEL NOT NULL VARCHAR2(20)
COLOR VARCHAR2(20)
REG_NUMBER NOT NULL VARCHAR2(20)
STATUS NOT NULL CHAR(1)
START_DATE NOT NULL DATE
SELL_DATE DATE
RENTAL_ID NUMBER
COST NUMBER
CREATE OR REPLACE PROCEDURE add_rental
(rental_date date,
return_date date,
Vfname varchar2,
vlname varchar2,
vcar_prod varchar2,
vmodel IN varchar2,
used IN varchar2) IS
Car_nr number;
Customer_nr number;
BEGIN
SELECT customer_id INTO customer_nr FROM tcustomer WHERE fname = vfname AND lname = vlname;
SELECT car_id INTO car_nr FROM tcars WHERE car_prod = vcar_prod AND car_model = vmodel;
dbms_output.put_line(' klient' || customer_nr);
dbms_output.put_line(' auto' || car_nr);
INSERT INTO trental VALUES (trental_inc.NEXTVAL, rental_date, return_date, car_nr,customer_nr,used);
END ADD_RENTAL;
Z góry dzięki za wskazówki
M