Проблемы создания таблиц - PullRequest
       13

Проблемы создания таблиц

0 голосов
/ 13 сентября 2018

Я пытаюсь заставить работать две таблицы, но продолжаю получать ошибки по ним. Таблица транзакций говорит, что она не может быть выполнена без создания другой, а затем я пытаюсь создать таблицу брокера, и в ней говорится, что отсутствует правильная скобка

Ошибка SQL: ORA-00907: отсутствует правая скобка

но я проверил свой код, и он выглядит хорошо. Кто-нибудь из вас знает, в чем проблема? спасибо всем кто комментирует!

    Create table Broker
(
    Broker_Number Number(7,0)
      Constraint PK_Broker_Broker_Number Primary Key
      Constraint NN_Broker_Broker_Number Not Null,
   First_Name Varchar2(25)
      Constraint NN_Broker_First_Name Not Null,
   Last_Name Varchar2(3O)
      Constraint NN_Broker_Last_Name Not Null,
   Area_Code Number(3,0)
      Default '780'
      Constraint NL_Broker_Area_Code Null,
   Phone_Number Number(7,0)
      Constraint NL_Broker_Phone_Number Null,
   Email_Address Varchar2(50)
      Constraint CK_Broker_Email_Address Check (REGEXP_like(Email_Address,'%@%.%'))
      Constraint NN_Broker_Email_Address Not Null
);


Create table Transaction
(
  Portfolio_Number Number(7,0) Not Null,
      Constraint FK_Trans_Portfolio_Number
      Foreign Key (Portfolio_Number)
      References Portfolio(Portfolio_Number),
  Stock_Code Varchar2(10) Not Null,
      Constraint FK_Transaction_Stock_Code
      Foreign Key (Stock_Code)
      References Stock(Stock_Code),
  Transaction_Date Date
      Constraint PK_Trans_Transaction_Date Not Null,
  Exchange_Code Varchar2(4) Not Null,    
      Constraint FK_Transaction_Exchange_Code
      Foreign Key (Exchange_Code)
      References Exchange(Exchange_Code),
  Broker_Number Number(7,0) Not Null,
      Constraint FK_Transaction_Broker_Number
      Foreign Key (Broker_Number)
      References Broker(Broker_Number),
  Buy_Sell Char(1)
      Constraint CK_Transaction_Buy_Sell Check (Buy_Sell in ('B','S') )
      Constraint NN_Transaction_Buy_Sell Not Null,
  Quantity Number(7,0)
      Constraint NN_Transaction_Quantity Not Null,
  Price_Per_Share Number(6,2)
      Constraint NN_Transaction_Price_Per_Share Not Null
)

1 Ответ

0 голосов
/ 13 сентября 2018

Это эта строка

Last_Name Varchar2 (30O)

Это не 30, это 3O, как в букве O после числа три.

Один из способов отладки таких операторов ошибок - это удаление одного столбца за раз, запуск оператора и повторение процесса, пока ошибка не исчезнет. В этом случае я удалил эту конкретную строку, и она работала нормально. Именно тогда я заметил в редакторе букву «О» вместо «0».

...