0
create Table dealing_record(
dealing_record_id int NOT NULL,
Transaction_number Varchar (6) NOT NULL UNIQUE,
Number_of_shares Number NOT NULL,
Amount Number (7,2) NOT NULL,
Stamp_duty Varchar(6) NOT NULL,
commission Varchar(6) NOT NULL,
Date_time SYSDATE     NOT NULL,
PRIMARY KEY(dealing_record_id));

结果

 SQL> create Table dealing_record(
2  dealing_record_id int NOT NULL,
3  Transaction_number Varchar (6) NOT NULL UNIQUE,
4  Number_of_shares Number NOT NULL,
5  Amount Number (7,2) NOT NULL,
6  Stamp_duty Varchar(6) NOT NULL,
7  commission Varchar(6) NOT NULL,
8  Date_time SYSDATE     NOT NULL,
9  PRIMARY KEY(dealing_record_id));
Date_time SYSDATE     NOT NULL,
      *
ERROR at line 8:
ORA-00902: invalid datatype

请问我哪里错了?

4

4 回答 4

1

这一行:

Date_time SYSDATE     NOT NULL,

应该

Date_time date      NOT NULL default SYSDATE,

Sysdate 是一个值,而不是数据类型。

于 2013-11-06T13:56:00.943 回答
0

SYSDATE不是数据类型。你大概是说

Date_time DATE     NOT NULL,
于 2013-11-06T13:55:42.617 回答
0

SYSDATE 不是数据类型。替换为“日期”。我不确定,但我认为如果您想默认使用当前日期/时间,您也可以在末尾添加“DEFAULT SYSDATE”。

于 2013-11-06T13:55:50.007 回答
0

SYSDATE 根本不是一种数据类型。所以你会在任何工具上得到这个错误。

CREATE TABLE DEALING_RECORD ( DEALING_RECORD_ID INT NOT NULL,
                            TRANSACTION_NUMBER VARCHAR ( 6 ) NOT NULL UNIQUE,
                            NUMBER_OF_SHARES NUMBER NOT NULL,
                            AMOUNT NUMBER ( 7, 2 ) NOT NULL,
                            STAMP_DUTY VARCHAR ( 6 ) NOT NULL,
                            COMMISSION VARCHAR ( 6 ) NOT NULL,
                            DATE_TIME DATE NOT NULL,
                            PRIMARY KEY ( DEALING_RECORD_ID ) );
于 2013-11-06T13:56:07.363 回答