我试图简单地创建一个Oracle表,我得到一个无效的数据类型错误,但它似乎没有错我的创建语句(除非我完全忽略了某些东西)。Oracle:在创建表上无效的数据类型错误
CREATE TABLE SCRIPT_LINE
(
ID INTEGER PRIMARY KEY NOT NULL,
EPISODE_ID INTEGER NOT NULL,
LINE_NUMBER INTEGER,
RAW_TEXT VARCHAR(4000),
TIMESTAMP NUMERIC,
SPEAKING_LINE BOOLEAN,
CHARACTER_ID INTEGER NOT NULL,
LOCATION_ID INTEGER NOT NULL,
CHARACTER VARCHAR(500),
LOCATION VARCHAR(500),
SPOKEN_WORD VARCHAR(4000),
WORD_COUNT INTEGER
);
任何想法的错误可能是?提前致谢。
此外 - 请参阅[VARCHAR'和'VARCHAR2'之间的区别](http://stackoverflow.com/questions/1171196/what-is-the-difference-between- VARCHAR和-VARCHAR2)。 – MT0
@ MT0:没有什么区别VARCHAR是VARCHAR2的同义词 –
@a_horse_with_no_name目前没有实现差异,但'VARCHAR'是Oracle标准VARCHAR的占位符,目前Oracle不支持这种标准(所以别名为'VARCHAR2 '),但可以选择在以后的版本中支持。有一个空字符串和一个表示同一事物和不同事物的未知(NULL)之间存在语义差异;因此,尽管OP目前不支持,但OP应该理解其差异并考虑未来的应用,以便在实施ANSI标准时使用最适合的类型。 – MT0