0
votes

Running this SQL query in DbVisualiser for Oracle Thin database. Getting the error:

12:09:23 [CREATE - 0 row(s), 0.096 secs] [Error Code: 907, SQL State: 42000] ORA-00907: missing right parenthesis

Code:

CREATE TABLE report(
    SALESPERSON_SOEID VARCHAR2(255),
    SALESPERSON_NAME VARCHAR2(255),
    COUNTER_PARTY_GP_NAME VARCHAR2(255),
    COUNTER_PARTY_GP_NUMBER VARCHAR2(255),
    COUNTER_PARTY_GFCID_NAME VARCHAR2(255),
    COUNTER_PARTY_GFCID VARCHAR2(255),
    RIC VARCHAR2(255),
    BBT VARCHAR2(255),
    TRADE_DATE DATE,
    FIRM_SIDE VARCHAR2(255),
    TRADE_QUANTITY real(7),
    AVG_EXEC_PRICE real(7),
    NOMINAL_AMT_LOCAL real(7),
    NOMINAL_AMT_USD real(7),
    TRADE_CRCY VARCHAR2(255),
    TRADE_COUNT int,
    CLIENT_TYPE VARCHAR2(255),
    ACCOUNT_CATEGORY VARCHAR2(255),
    ACCOUNT_SUB_CATEGORY VARCHAR2(255),
    CLIENT_COUNTRY VARCHAR2(255),
    EXECUTING_COUNTRY VARCHAR2(255),
    PRODUCT_DESC VARCHAR2(255),
    MARKET_SECTOR VARCHAR2(255),
    ISSUER_INDUSTRY_SECTOR VARCHAR2(255),
    HTPT_FLAG VARCHAR2(255),
    EXECUTING_REGION VARCHAR2(255)
);
2

2 Answers

3
votes

You might want to remove (7) from the REAL data type. The below will compile.

Standard Docs - LINK

CREATE TABLE report(
    SALESPERSON_SOEID VARCHAR2(255),
    SALESPERSON_NAME VARCHAR2(255),
    COUNTER_PARTY_GP_NAME VARCHAR2(255),
    COUNTER_PARTY_GP_NUMBER VARCHAR2(255),
    COUNTER_PARTY_GFCID_NAME VARCHAR2(255),
    COUNTER_PARTY_GFCID VARCHAR2(255),
    RIC VARCHAR2(255),
    BBT VARCHAR2(255),
    TRADE_DATE DATE,
    FIRM_SIDE VARCHAR2(255),
    TRADE_QUANTITY real,
    AVG_EXEC_PRICE real,
    NOMINAL_AMT_LOCAL real,
    NOMINAL_AMT_USD real,
    TRADE_CRCY VARCHAR2(255),
    TRADE_COUNT int,
    CLIENT_TYPE VARCHAR2(255),
    ACCOUNT_CATEGORY VARCHAR2(255),
    ACCOUNT_SUB_CATEGORY VARCHAR2(255),
    CLIENT_COUNTRY VARCHAR2(255),
    EXECUTING_COUNTRY VARCHAR2(255),
    PRODUCT_DESC VARCHAR2(255),
    MARKET_SECTOR VARCHAR2(255),
    ISSUER_INDUSTRY_SECTOR VARCHAR2(255),
    HTPT_FLAG VARCHAR2(255),
    EXECUTING_REGION VARCHAR2(255)
);
0
votes

The problem here is the use of "Real" data type, its oracle equivalent is FLOAT.

Happy Coding :)