use*_*354 5 sql oracle select insert ora-04044
我试图从4个表FACTS_CDPM,PRODUCT,CUSTOMER,DATE中获取数据到CUST_ALLOC表中,当我只运行select查询时,我得到了结果,但是当我将其放在过程中并用select语句插入时如下所示,我收到错误消息“错误(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;
Run Code Online (Sandbox Code Playgroud)
DATE是Oracle中的保留关键字。如果您的过程包含您发布的插入语句,则它甚至不应该编译。如果要使用 DATE 作为表名,请将其放在引号中:
INNER JOIN "DATE" ON X.DATE_NUM="DATE".DATE_NUM
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14917 次 |
| 最近记录: |