Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z procedurą
kosamkpl
post 11.01.2014, 14:41:14
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 11.01.2014

Ostrzeżenie: (0%)
-----


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

  1. DESC trental
  2. Name NULL Type
  3. ----------- -------- -----------
  4. RENTAL_ID NOT NULL NUMBER
  5. RENTAL_DATE NOT NULL DATE
  6. RETURN_DATE DATE
  7. CAR_ID NOT NULL NUMBER
  8. CUSTOMER_ID NOT NULL NUMBER
  9. USED VARCHAR2(1)


  1. DESC tcustomer
  2. Name NULL Type
  3. ----------- -------- ------------
  4. CUSTOMER_ID NOT NULL NUMBER(3)
  5. FNAME NOT NULL VARCHAR2(23)
  6. LNAME NOT NULL VARCHAR2(23)
  7. LIC_NUMBER NOT NULL VARCHAR2(20)
  8. LIC_DATE NOT NULL DATE
  9. RENTAL_ID VARCHAR2(3)
  10. PESEL CHAR(11)
  11. BIRTH_DATE DATE
  12. PHONE_NR NOT NULL VARCHAR2(13)


  1. DESC tcars
  2. Name NULL Type
  3. ---------- -------- ------------
  4. CAR_ID NOT NULL NUMBER(38)
  5. CAR_PROD NOT NULL CHAR(20)
  6. CAR_MODEL NOT NULL VARCHAR2(20)
  7. COLOR VARCHAR2(20)
  8. REG_NUMBER NOT NULL VARCHAR2(20)
  9. STATUS NOT NULL CHAR(1)
  10. START_DATE NOT NULL DATE
  11. SELL_DATE DATE
  12. RENTAL_ID NUMBER
  13. COST NUMBER


  1. CREATE OR REPLACE PROCEDURE add_rental
  2. (rental_date date,
  3. return_date date,
  4. Vfname varchar2,
  5. vlname varchar2,
  6. vcar_prod varchar2,
  7. vmodel IN varchar2,
  8. used IN varchar2) IS
  9.  
  10. Car_nr number;
  11. Customer_nr number;
  12.  
  13. BEGIN
  14. SELECT customer_id INTO customer_nr FROM tcustomer WHERE fname = vfname AND lname = vlname;
  15. SELECT car_id INTO car_nr FROM tcars WHERE car_prod = vcar_prod AND car_model = vmodel;
  16. dbms_output.put_line(' klient' || customer_nr);
  17. dbms_output.put_line(' auto' || car_nr);
  18. INSERT INTO trental VALUES (trental_inc.NEXTVAL, rental_date, return_date, car_nr,customer_nr,used);
  19.  
  20. END ADD_RENTAL;


Z góry dzięki za wskazówki
M
Go to the top of the page
+Quote Post
bww
post 14.01.2014, 11:36:38
Post #2





Grupa: Zarejestrowani
Postów: 42
Pomógł: 3
Dołączył: 14.02.2012

Ostrzeżenie: (0%)
-----


A po wykonaniu procedury wykonujesz commit?
Go to the top of the page
+Quote Post
kosamkpl
post 14.01.2014, 12:45:41
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 11.01.2014

Ostrzeżenie: (0%)
-----


Cześć
Poradziłem sobie w inny sposób, a mianowicie przez kursory.
Problem nie tkwił w samej składni procedury ale w przeszukiwaniu tabeli TCARS.
Dzięki za pomoc
M
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 23.04.2024 - 12:45