2013-11-08 4 views
2
create Table payment_record(
payment_record_id int NOT NULL, 
payment_number Varchar(5) NOT NULL UNIQUE, 
recieved_from_client Number (8,2) NOT NULL DEFAULT 0.00, 
Paid_to_client Number (8,2) NOT NULL DEFAULT 0.00, 
payment_date Date NOT NULL, 
PRIMARY KEY(payment_record_id)); 

результатовпроблемы со значениями по умолчанию

SQL> create Table payment_record(
2 payment_record_id int NOT NULL, 
3 payment_number Varchar(5) NOT NULL UNIQUE, 
4 recieved_from_client Number (8,2) NOT NULL DEFAULT 0.00, 
5 Paid_to_client Number (8,2) NOT NULL DEFAULT 0.00, 
6 payment_date Date NOT NULL, 
7 PRIMARY KEY(payment_record_id)); 
recieved_from_client Number (8,2) NOT NULL DEFAULT 0.00, 
             * 
ERROR at line 4: 
ORA-00907: missing right parenthesis 

Пожалуйста, что я получаю неправильно? Пытаюсь создать таблицу, где defaultly

Paid_to_client 
recieved_from_client 

может производить 0.00, если значения, как не присвоить ему

ответ

3

Предложение default должен прийти перед NOT NULL спецификацией:

SQL> create Table payment_record(
2 payment_record_id int NOT NULL, 
3 payment_number Varchar(5) NOT NULL UNIQUE, 
4 recieved_from_client Number (8,2) DEFAULT 0.00 NOT NULL, 
5 Paid_to_client Number (8,2) DEFAULT 0.00 NOT NULL, 
6 payment_date Date NOT NULL, 
7 PRIMARY KEY(payment_record_id)); 
3

DEFAULT предваряет NOT NULL:

create Table payment_record(
payment_record_id int NOT NULL, 
payment_number Varchar(5) NOT NULL UNIQUE, 
recieved_from_client Number (8,2) DEFAULT 0.00 NOT NULL, 
Paid_to_client Number (8,2) DEFAULT 0.00 NOT NULL , 
payment_date Date NOT NULL, 
PRIMARY KEY(payment_record_id)); 
1

Вы должны используйте значение по умолчанию до ограничения столбца, например, не null. Для reference

Смежные вопросы