繁体   English   中英

Oracle | 更新长型 | 错误:非法使用 LONG 数据类型

[英]Oracle | Update Long type | Error: Illegal use of LONG datatype

如何纠正更新问题?

以下是相关数据和错误

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

以下是表结构:

ID  LONG
STARTDATE   TIMESTAMP(6)
ENDDATE TIMESTAMP(6)
STATUS  VARCHAR2(20 CHAR)
REMARKS VARCHAR2(255 CHAR)
JOBID   NUMBER(38,0)

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

如果 ID 是主键 - 它不应该是 LONG。

LONG 列有限制 - 您可以在 SELECT 列表、UPDATE 语句的 SET 子句和 INSERT 语句的 VALUES 子句中使用 LONG 列。

有更大的列表无法使用! 包含

  • LONG 列不能出现在 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM