Plsql 忽略SQL语句

Plsql 忽略SQL语句,plsql,Plsql,我正在用SQL编写此代码,出现以下错误: LINE/COL ERROR -------- ----------------------------------------------------------------- 7/2 PL/SQL: SQL Statement ignored 声明: CREATE OR REPLACE FUNCTION GET_C_O(vretail_outlet_id int, vtran_

我正在用SQL编写此代码,出现以下错误:

LINE/COL ERROR
-------- -----------------------------------------------------------------
7/2  PL/SQL: SQL Statement ignored
声明:

CREATE OR REPLACE FUNCTION GET_C_O(vretail_outlet_id int,
                                   vtran_year varchar)
  RETURN number
AS
  stock number;
BEGIN
  select vretail_outlet_id,
         SUM(GET_C_O_STOCKFN_TEST(61, a.BATCHID, 1,
                                  to_date('204-04-01','yyyy-mm-dd'),
                                  vretail_outlet_id, vtran_year, 1) * QP.PRODUCTRATE) AS OPENING
    From Promas
    inner join Product A
      on Promas.Pcode = A.Pcode and
         vretail_outlet_id = A.Retail_outlet_id and
         vtran_year = a.tran_year
    inner Join QryProductrate Qp
      on Qp.batchid = a.batchid and
         QP.Retail_outlet_id = a.REtail_outlet_id and
         Qp.Tran_year = a.tran_year
    where a.tran_year = '2014_2015' and
          1=1
    group by vretail_outlet_id)
    into stock
    from dual;

Return Stock;
END;

SELECT语句不正确。尝试:

select SUM(GET_C_O_STOCKFN_TEST(61, a.BATCHID, 1,
                                to_date('2014-04-01','yyyy-mm-dd'),
                                vretail_outlet_id, vtran_year, 1) * QP.PRODUCTRATE) AS OPENING
  into stock
  From Promas
  inner join Product A
    on Promas.Pcode = A.Pcode and
       vretail_outlet_id = A.Retail_outlet_id and
       vtran_year = a.tran_year
  inner Join QryProductrate Qp
    on Qp.batchid = a.batchid and
       QP.Retail_outlet_id = a.REtail_outlet_id and
       Qp.Tran_year = a.tran_year
  where a.tran_year = '2014_2015';

共享和享受。

我认为在编写join命令时会出现一些问题,但我无法了解它是什么,这是在PL/SQL中运行查询的写入方式吗?函数中的SQL完全错误。首先,在单个股票变量中选择两个字段vretail_outlet_id,SUM(..),然后在双表上应用SUM函数。这根本行不通,请写下你想要的。