Ошибки в образцах сценариев Oracle - PullRequest
0 голосов
/ 16 января 2019

Я хочу создать образец схемы Sales History (SH), предоставляемой Oracle. Итак, я посетил сайт

Образцы моделей и скриптов: https://www.oracle.com/technetwork/developer-tools/datamodeler/sample-models-scripts-224531.html

и загрузил скрипт SQL из https://www.oracle.com/technetwork/developer-tools/datamodeler/shsql-167694.zip

Но я заметил, что это не может быть выполнено без ошибок. Сначала мне нужно было создать табличное пространство EXAMPLE, затем мне пришлось исправить порядок элементов PARTITION в скрипте и т. Д. Они упоминают некоторую предварительную работу, которую необходимо выполнить перед запуском скрипта?

В любом случае, после всех работ по исправлению ошибок у меня сейчас только 2 ошибки.

Первый:

Error starting at line : 2 290 in command -
CREATE DIMENSION PRODUCTS_DIM 
    LEVEL CATEGORY IS PRODUCTS.PROD_CATEGORY_ID 
    LEVEL SUBCATEGORY IS PRODUCTS.PROD_SUBCATEGORY_ID 
    LEVEL PRODUCT IS PRODUCTS.PROD_ID 
    LEVEL PROD_TOTAL IS PRODUCTS.PROD_TOTAL_ID 
    HIERARCHY PROD_ROLLUP ( 
        PRODUCT  CHILD OF  
        SUBCATEGORY  CHILD OF  
        CATEGORY  CHILD OF  
        PROD_TOTAL 
    ) 
    ATTRIBUTE Attr12 LEVEL CATEGORY DETERMINES ( 
        PROD_CATEGORY , 
        PROD_CATEGORY_DESC 
    ) 
    ATTRIBUTE Attr13 LEVEL SUBCATEGORY DETERMINES ( 
        PROD_SUBCATEGORY , 
        PROD_SUBCATEGORY_DESC 
    ) 
    ATTRIBUTE Attr14 LEVEL PRODUCT DETERMINES ( 
        PROD_NAME , 
        PROD_MIN_PRICE , 
        PROD_LIST_PRICE , 
        PROD_STATUS , 
        PROD_PACK_SIZE , 
        PROD_UNIT_OF_MEASURE , 
        PROD_WEIGHT_CLASS , 
        PROD_DESC 
    ) 
    ATTRIBUTE Attr15 LEVEL PROD_TOTAL DETERMINES 
        PROD_TOTAL 
    ATTRIBUTE Attr16 LEVEL CATEGORY DETERMINES 
        PROMO_CATEGORY 
    ATTRIBUTE Attr19 LEVEL SUBCATEGORY DETERMINES 
        PROMO_SUBCATEGORY
Error report -
ORA-00904: "PRODUCTS"."PROMO_SUBCATEGORY": 
00904. 00000 -  "%s: invalid identifier"
*Cause:    
*Action:

Таблица АКЦИИ успешно создана

CREATE TABLE PROMOTIONS 
    ( 
     PROMO_ID NUMBER (6)  NOT NULL , 
     PROMO_NAME VARCHAR2 (30 BYTE)  NOT NULL , 
     PROMO_SUBCATEGORY VARCHAR2 (30 BYTE)  NOT NULL , 
     PROMO_SUBCATEGORY_ID NUMBER  NOT NULL , 
     PROMO_CATEGORY VARCHAR2 (30 BYTE)  NOT NULL , 
     PROMO_CATEGORY_ID NUMBER  NOT NULL , 
     PROMO_COST NUMBER (10,2)  NOT NULL , 
     PROMO_BEGIN_DATE DATE  NOT NULL , 
     PROMO_END_DATE DATE  NOT NULL , 
     PROMO_TOTAL VARCHAR2 (15 BYTE)  NOT NULL , 
     PROMO_TOTAL_ID NUMBER  NOT NULL 
    ) LOGGING 
    MONITORING 
;

И второй:

Error starting at line : 2 548 in command -
CREATE TABLE SALES_TRANSACTIONS_EXT 
    ( 
    PROD_ID NUMBER (22) (22) (22) , 
    CUST_ID NUMBER (22) (22) (22) , 
    TIME_ID DATE (7) (7) (7) , 
    CHANNEL_ID NUMBER (22) (22) (22) , 
    PROMO_ID NUMBER (22) (22) (22) , 
    QUANTITY_SOLD NUMBER (22) (22) (22) , 
    AMOUNT_SOLD NUMBER (10, 2) (10,  2) (10,  2) , 
    UNIT_COST NUMBER (10, 2) (10,  2) (10,  2) , 
    UNIT_PRICE NUMBER (10, 2) (10,  2) (10,  2) 
    ) 
    ORGANIZATION EXTERNAL 
    ( 
    TYPE oracle_loader 
    ACCESS PARAMETERS 
    USING CLOB RECORDS DELIMITED BY NEWLINE CHARACTERSET US7ASCII 
 TERRITORY AMERICAN 
 BADFILE log_file_dir:'ext_1v3.bad' 
 LOGFILE log_file_dir:'ext_1v3.log' 
 FIELDS TERMINATED BY "|" OPTIONALLY ENCLOSED BY ' ' LDRTRIM 
 ( PROD_ID         , 
 CUST_ID         , 
 TIME_ID         DATE(10) "YYYY-MM-DD", 
 CHANNEL_ID      , 
 PROMO_ID        , 
 QUANTITY_SOLD   , 
 AMOUNT_SOLD     , 
 UNIT_COST       , 
 UNIT_PRICE 
 ) 
    LOCATION ( 'sale1v3.dat' ) 
    ) 
    REJECT LIMIT 100
Error report -
ORA-00907: 
00907. 00000 -  "missing right parenthesis"
*Cause:    
*Action:

DbVisualizer подчеркнул вторую "(22)" в строке " PROD_ID NUMBER (22) (22) (22) , ", но я до сих пор не могу понять, где мне поставить правильную скобку.

Я не знаком с Oracle, специфичным для SQL.

Ниже приведен полный скрипт после всех моих исправлений http://denis -aristov.ucoz.com / несортированный / SH.sql

И вывод полной ошибки: http://denis -aristov.ucoz.com / несортированный / SH_errors.txt

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...