You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行Oracle INSERT时遇ORA-00984错误,求排查解决

ORA-00984错误原因及修正

你的判断有误,错误根源不是数据类型不匹配,而是变量名拼写错误:

  • 函数参数定义的是customer_id,但INSERT语句的VALUES子句里误用了未定义的cust_id,Oracle将这个不存在的变量识别为列名,因此抛出"column not allowed here"错误。

修正后的函数代码:

FUNCTION insert_in_sales(
    sale_id NUMBER,
    prod_id NUMBER,
    customer_id NUMBER,
    quantity NUMBER,
    sale_date DATE
) RETURN VARCHAR2
IS
BEGIN
INSERT INTO sales(SaleID, ProductID, CustomerID, Quantity, SaleDate)
VALUES(sale_id, prod_id, customer_id, quantity, sale_date); -- 将cust_id修正为customer_id
COMMIT;
RETURN 'New sales record added successfully';
EXCEPTION
WHEN OTHERS THEN
    ROLLBACK;
RETURN 'An error occurred ' || SQLERRM;
END insert_in_sales;

内容的提问来源于stack exchange,提问作者Ayush Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 07:32:34