Reputation: 1095
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));
outcome
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
Please what am I getting wrong? Am trying to create a table where defaultly the
Paid_to_client
recieved_from_client
can produce 0.00 if values as not assign to it
Upvotes: 2
Views: 52
Reputation: 455
You have to use default before column constraint for example not null. For reference
Upvotes: 1
Reputation: 33273
DEFAULT goes before 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));
Upvotes: 3
Reputation: 311073
The default
clause should come before the NOT NULL
specification:
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));
Upvotes: 3