Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Oracle _ Problem z nested table

Napisany przez: Monter312 29.11.2012, 21:23:15

  1. CREATE OR REPLACE TYPE dane_osobowe_objtyp AS OBJECT(
  2. nazwa varchar2(15),
  3. ulica varchar2(15),
  4. miasto varchar2(15),
  5. kod_pocztowy varchar2(10),
  6. nip varchar2(15)
  7. );
  8.  
  9. DROP TYPE dane_osobowe_objtype;
  10.  
  11.  
  12.  
  13. CREATE OR REPLACE TYPE materialy_objtyp AS OBJECT(
  14. id_materialu number(4),
  15. nazwa varchar2(15),
  16. ilosc number(15)
  17. );
  18.  
  19. CREATE OR REPLACE TYPE specyfikacje_objtyp AS OBJECT(
  20. id_specyfikacji number(4),
  21. nazwa varchar2(15),
  22. ilosc number,
  23. maretial_ref REF materialy_objtyp
  24. );
  25.  
  26. CREATE OR REPLACE TYPE specyfikacje_ntabtyp AS TABLE OF specyfikacje_objtyp;
  27.  
  28. CREATE OR REPLACE TYPE wyrob_objtyp AS OBJECT(
  29. id_wyrobu number(4),
  30. nazwa varchar2(15),
  31. ilosc number(10),
  32. specyfikacje_ntab specyfikacje_ntabtyp
  33. );
  34.  
  35.  
  36.  
  37. CREATE OR REPLACE TYPE zamowienia_poz_objtyp AS OBJECT(
  38. pozycja number(10),
  39. wyrob_ref REF wyrob_objtyp,
  40. ilosc number(10),
  41. cena number(10,2)
  42. );
  43.  
  44. CREATE OR REPLACE TYPE zamowienia_poz_ntabtyp AS TABLE OF zamowienia_poz_objtyp;
  45.  
  46. CREATE OR REPLACE TYPE zamowienia_objtyp AS OBJECT(
  47. id_zamowienia number(4),
  48. zamowienia_poz_ntab zamowienia_poz_ntabtyp,
  49. DATA date
  50. );
  51.  
  52. CREATE OR REPLACE TYPE zamowienia_ntabtyp AS TABLE OF zamowienia_objtyp;
  53.  
  54. CREATE OR REPLACE TYPE telefonlist_vartyp AS varray(10) OF VARCHAR2(15);
  55.  
  56. CREATE OR REPLACE TYPE kontrahent_objtyp AS OBJECT(
  57. id_kontrahenta number(4),
  58. dane_kon dane_osobowe_objtyp,
  59. telefonlist_var telefonlist_vartyp,
  60. zamowienia_ntab zamowienia_ntabtyp
  61. );
  62.  
  63. CREATE OR REPLACE TYPE dostawca_objtyp AS OBJECT(
  64. id_dostawcy number(4),
  65. dane_dos dane_osobowe_objtyp,
  66. telefonlist_var telefonlist_vartyp,
  67. bank number(10)
  68. );
  69.  
  70.  
  71. ---------------------tworzenie tablei----------------------
  72.  
  73.  
  74. CREATE TABLE dostawca_objtab OF dostawca_objtyp ( PRIMARY KEY (id_dostawcy));
  75.  
  76.  
  77. CREATE TABLE kontrahent_objtab OF kontrahent_objtyp( PRIMARY KEY (id_kontrahenta))
  78. NESTED TABLE zamowienia_ntab STORE AS ntab_store_zamowienia
  79. ((PRIMARY KEY (NESTED_TABLE_ID, id_zamowienia))
  80. NESTED TABLE zamowienia_poz_ntab STORE AS ntab_store_zamowienia_poz );
  81.  
  82. CREATE TABLE wyrob_objtab OF wyrob_objtyp ( PRIMARY KEY(id_wyrobu))
  83. NESTED TABLE specyfikacje_ntab STORE AS ntab_store_specyfikacje
  84. (PRIMARY KEY (NESTED_TABLE_ID, id_specyfikacji));


Tak tworzyłem baze po kolei, ale nie wiem dlaczego tabela wyrób niechce sie stworzyć. Wyskaktuje mi taki błąd:
  1. SQL Error: ORA-02320: failure IN creating storage TABLE FOR nested TABLE COLUMN SPECYFIKACJE_NTAB
  2. ORA-00922: missing OR invalid OPTION


Wie ktoś o co chodzi?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)