错误(11,15):PL / SQL:ORA-04044:此处不允许使用过程,函数,包或类型

时间:2011-05-04 23:01:37

标签: sql oracle select insert ora-04044

我正在尝试将4个表FACTS_CDPM,PRODUCT,CUSTOMER,DATE中的数据导入CUST_ALLOC表, 当我刚刚运行select查询时,我得到结果,但是当我把它放在一个过程中并使用如下的select语句插入时,我得到一个错误“Error(11,15):PL / SQL:ORA -04044:此处不允许使用过程,函数,包或类型“

请问有人可以帮助解决这个问题的原因吗?

谢谢!

INSERT INTO CUST_ALLOC
(PART_ID,
      CUSTOMER,
      MONTH,
      QTY_ALLOCATED
        )    
    SELECT P.PROD_ID,
       C.PURCHASING,
       D.MONTH_ID,
       SUM(X.QTY)
FROM FACTS_CDPM X INNER JOIN PRODUCT P ON P.PROD_NUM=X.PROD_NUM 
                    INNER JOIN CUSTOMER C ON X.CUST_NUM=C.CUST_NUM 
                    INNER JOIN DATE D ON X.DATE_NUM=D.DATE_NUM
WHERE MEASURE_NUM=18
GROUP BY P.PROD_ID,C.PURCHASING,D.MONTH_ID;

1 个答案:

答案 0 :(得分:3)

DATE是Oracle中的保留关键字。如果它包含您发布的insert语句,则您的程序甚至不应该编译。如果您要将DATE用于表名,请将其放在引号中:

INNER JOIN "DATE" ON X.DATE_NUM="DATE".DATE_NUM