sqlplus中sysdate的问题

时间:2013-11-06 13:53:40

标签: sql sqlplus

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 个答案:

答案 0 :(得分:1)

这一行:

Date_time SYSDATE     NOT NULL,

应该是

Date_time date      NOT NULL default SYSDATE,

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

答案 1 :(得分:0)

SYSDATE不是数据类型。你可能意味着

Date_time DATE     NOT NULL,

答案 2 :(得分:0)

SYSDATE不是数据类型。替换为“DATE”。我不确定,但我认为你还可以在最后添加“DEFAULT SYSDATE”,如果你想默认当前的日期/时间。

答案 3 :(得分: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 ) );