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

何が間違っているのですか?デフォルトでテーブルを作成しようとしています

Paid_to_client 
recieved_from_client 

値が割り当てられていない場合は 0.00 を生成できます

4

3 に答える 3

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));
于 2013-11-08T11:21:27.783 に答える
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));
于 2013-11-08T11:21:36.150 に答える
1

列制約の前にデフォルトを使用する必要があります。たとえば、null ではありません。参考まで

于 2013-11-08T11:25:54.073 に答える