Strona 1 z 1

Sekwencje (baza oracle)

: 25 lis 2012, 10:46
autor: balu
Witam. Zaczynam swoją przygodę z zapytaniami oracle i chciałem tutaj prosić o pomoc kogoś doświadczonego.

Oto treść zadań z którymi mam problem:
Stworzyć sekwencje podczas wprowadzania danych tabeli nadrzędnej i podrzędnej (np.faktura i pozycja faktury)
kod zadania który nie działa:

Kod: Zaznacz cały

CREATE SEQUENCE faktura_seq;
CREATE SEQUENCE pozycja_faktury_seq;

INSERT INTO faktura
VALUES (faktura_seq.nextval, 'FAKTURA1');

INSERT INTO pozycja_faktury (rok_wydania)
VALUES (pozycja_faktury_seq.nextval, '2009');

Za to nawet nie wiem jak się zabrać:

Stworzyć widok zawierający informacje o wszystkich fakturach w formacie: data faktury, numer faktury, nazwa wydawnictwa, nazwisko pracownika, suma wszystkich pozycji faktury
Baza danych w załączniku.

Re: Problem z zadaniem (baza oracle)

: 25 lis 2012, 12:27
autor: rob006
Uczymy się korzystać z google - http://www.techonthenet.com/oracle/sequences.php
Z widokami to samo - słowa kluczowe: view, join.

Re: Problem z zadaniem (baza oracle)

: 25 lis 2012, 12:37
autor: bear7
Zmień tytuł tematu tak, aby w sposób możliwie precyzyjny przedstawiał sedno sprawy, w której piszesz. Miej na uwadze również zgodność z REGULAMINEM
Tytuł tematu zmienisz edytując pierwszy post
W razie wątpliwości/zastrzeżeń odnośnie powyższej informacji skontaktuj się z moderatorem, który ją wstawił.

Zanim ponownie wpiszesz w tytule tematu słowo PROBLEM zapoznaj się z REGULAMINEM
W razie wątpliwości/zastrzeżeń odnośnie powyższej informacji skontaktuj się z moderatorem, który ją wstawił.

Re: Sekwencje (baza oracle)

: 25 lis 2012, 15:21
autor: balu
Poprawiłem zadanie 1 i działa w połowie:

Kod: Zaznacz cały

CREATE SEQUENCE faktutra_seq
  MINVALUE 1
  START WITH 1
  INCREMENT BY 1
  CACHE 20;
CREATE SEQUENCE pozycja_faktury_seq
  MINVALUE 1
  START WITH 1
  INCREMENT BY 1
  CACHE 20;
  
INSERT INTO faktura(id_faktura, nazwa)
VALUES (faktura_seq.nextval, 'FAKTURA1');

INSERT INTO pozycja_faktury (ilosc, rok_wydania, )
VALUES (pozycja_faktury_seq.nextval, 2012 );
Drugi insert nie dziala. Podpowiesz dlaczego?

Zwraca cos w stylu:

Kod: Zaznacz cały

SQL Error: ORA-01747: invalid user.table.column, table.column, or column specification
01747. 00000 -  "invalid user.table.column, table.column, or column specification"

Re: Sekwencje (baza oracle)

: 25 lis 2012, 15:28
autor: rob006
Może chodzi o przecinek po "rok_wydania".

Re: Sekwencje (baza oracle)

: 25 lis 2012, 17:36
autor: balu

Kod: Zaznacz cały

SQL Error: ORA-00913: too many values
00913. 00000 -  "too many values"