Oracle10g XE:为什么PLS_INTEGER不能是列类型

时间:2009-11-20 03:59:37

标签: oracle10g

发出以下命令时返回无效的数据类型:

CREATE TABLE msg_info (
   msgcode PLS_INTEGER,
   msgtype VARCHAR2(30),
   msgtext VARCHAR2(2000),
   msgname VARCHAR2(30),
   description VARCHAR2(2000)
   );

我发现它是由 msgcode PLS_INTEGER 引起的,删除此列会使创建成功。

是XE限制吗? 感谢。

2 个答案:

答案 0 :(得分:4)

PLS_INTEGER 仅限PL / SQL类型。它不能在SQL表/ DDL-on-large中使用。

我认为应该将列声明为NUMBER类型,并且在检索数据时,请在PL / SQL级别使用PLS_INTEGER类型。

请参阅Oracle Datatypes

答案 1 :(得分:-1)

尝试BINARY_INTEGER - 它是相同的,可与PLS_INTEGER

互换使用

link