oracle | update long type |错误:非法使用long数据类型

qf9go6mv  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(796)

更新时如何纠正问题?
以下是相关数据和错误

  1. Error starting at line : 1 in command -
  2. UPDATE JOB_STATUS
  3. SET STATUS ='FAILED' ,ENDDATE=sysdate, REMARKS = 'Error'
  4. WHERE ID = 30
  5. Error at Command Line : 3 Column : 7
  6. Error report -
  7. SQL Error: ORA-00997: illegal use of LONG datatype
  8. 00997. 00000 - "illegal use of LONG datatype"
  9. * Cause:
  10. * Action:

下表结构:

  1. ID LONG
  2. STARTDATE TIMESTAMP(6)
  3. ENDDATE TIMESTAMP(6)
  4. STATUS VARCHAR2(20 CHAR)
  5. REMARKS VARCHAR2(255 CHAR)
  6. JOBID NUMBER(38,0)

无法找到相关问题的答案。我不确定是否需要修改表数据类型,但当我试图修改它时,它会说先删除数据。

91zkwejq

91zkwejq1#

如果id是主键-它不应该太长。
长列有一些限制—您可以在select列表中使用长列、update语句的set子句和insert语句的values子句。
有更大的列表,它不能使用!包括
长列不能出现在where子句或完整性约束中(除非它们可以出现在null和not null约束中)。
有关列表,请参阅https://docs.oracle.com/cd/b28359_01/server.111/b28286/sql_elements001.htm#sqlrf00201
https://docs.oracle.com/cd/b28359_01/server.111/b28318/datatype.htm#cncpt1831

相关问题