Sql Oracle:创建表时出现无效数据类型错误

Sql Oracle:创建表时出现无效数据类型错误,sql,oracle,ddl,Sql,Oracle,Ddl,我试图简单地创建一个Oracle表,但是得到了一个无效的数据类型错误,但是我的create语句似乎没有什么问题(除非我完全忽略了某些东西) 知道错误在哪里吗?提前感谢。Oracle没有布尔数据类型Oracle没有布尔数据类型由于Oracle不支持布尔,最好的替代方法是字符(1) 是/否。或者使用数字(1)0/1因为Oracle不支持布尔值,最好的替代方法是字符(1) 是/否。或者使用数字(1)0/1谢谢。然而,它在我的开发人员控制台中是一个突出显示的词,这使我相信它存在。BOOLEAN在PL/S

我试图简单地创建一个Oracle表,但是得到了一个无效的数据类型错误,但是我的create语句似乎没有什么问题(除非我完全忽略了某些东西)


知道错误在哪里吗?提前感谢。

Oracle没有布尔数据类型

Oracle没有布尔数据类型

由于Oracle不支持布尔,最好的替代方法是字符(1)
是/否。或者使用数字(1)0/1

因为Oracle不支持布尔值,最好的替代方法是字符(1)
是/否。或者使用数字(1)0/1

谢谢。然而,它在我的开发人员控制台中是一个突出显示的词,这使我相信它存在。
BOOLEAN
在PL/SQL中是有效的类型,但在Oracle RDBMS引擎中不是有效的类型。所以这取决于你在哪里。:-)就我个人而言,当我需要一个Yes/No类型的东西时,我会使用
VARCHAR2(1)notnull检查(无论('Y','N')中的什么字段)
。这对我来说已经足够好了。谢谢你。然而,它在我的开发人员控制台中是一个突出显示的词,这使我相信它存在。
BOOLEAN
在PL/SQL中是有效的类型,但在Oracle RDBMS引擎中不是有效的类型。所以这取决于你在哪里。:-)就我个人而言,当我需要一个Yes/No类型的东西时,我会使用
VARCHAR2(1)notnull检查(无论('Y','N')中的什么字段)
。就我的目的而言,它工作得很好。另外-请参阅。@MT0:VARCHAR是的同义词VARCHAR2@a_horse_with_no_name当前的实现没有区别,但是
VARCHAR
是ANSI标准
VARCHAR
的占位符,Oracle目前不支持该标准(因此别名为
VARCHAR2
)但可以选择在更高版本中支持。空字符串和表示相同事物和不同事物的未知(
NULL
)之间存在语义差异;所以呢,虽然目前还不支持,,OP应该理解差异,并考虑将来对其应用程序进行验证,以便在实施ANSI标准时使用最合适的类型。VARCHAR2@a_horse_with_no_name当前的实现没有区别,但是
VARCHAR
是一个ANSI标准
VARCHAR
的占位符,Oracle目前不支持该标准(因此别名为
VARCHAR2
),但可以选择在更高版本中支持该标准。空字符串和表示相同事物和不同事物的未知(
NULL
)之间存在语义差异;因此,即使它目前不支持,OP应该理解差异,并考虑将来对其应用进行打样,以便在实施ANSI标准时使用最合适的类型。
    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
   );