标签: ora-04044

如何修复此"忽略SQL语句"错误?

我有以下不编译的小函数:

function f_query_01  Return interval Day to second is 
  start_time timestamp(3);
  end_time timestamp(3);
  time_diff interval Day to second;  
  c_query_number number;

begin

  start_time := systimestamp; 
  select count(*) into c_query_number from wg;  <--This is the line that errors out
  end_time := systimestamp;
  time_diff := start_time - end_time;

  return time_diff;

end f_query_01;
Run Code Online (Sandbox Code Playgroud)

编译器给我以下错误:

Error(29,3): PL/SQL: SQL Statement ignored
Error(29,44): PL/SQL: ORA-04044: procedure, function, package, or type is not allowed here
Run Code Online (Sandbox Code Playgroud)

导致此错误的原因是什么?如何解决?

sql oracle plsql ora-04044

10
推荐指数
1
解决办法
6万
查看次数

错误(11,15):PL / SQL: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)

sql oracle select insert ora-04044

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

ora-04044 ×2

oracle ×2

sql ×2

insert ×1

plsql ×1

select ×1