Oracle PL SQL函数-编译错误

Oracle PL SQL函数-编译错误,oracle,plsql,oracle11g,plsqldeveloper,Oracle,Plsql,Oracle11g,Plsqldeveloper,我是pl sql新手,一直试图执行此函数,但遇到编译错误 create or replace function "rural_finance" return number is total number(13) :=0; begin select (select "RURAL FINANCE " from rural_master_view1 t where load_date='apr-15' and activity='FINANCE_AMOUNT') - (select "RURA

我是pl sql新手,一直试图执行此函数,但遇到编译错误

create or replace function "rural_finance" return number is  
total number(13) :=0;
begin
select
(select  "RURAL FINANCE " from rural_master_view1 t where load_date='apr-15' and activity='FINANCE_AMOUNT')
-
(select  "RURAL FINANCE " from rural_master_view1 t where load_date='may-15' and activity='FINANCE_AMOUNT')
-
(select sum(disb_amount)
           from retail_disbursal
          where load_date = 'may-15'
            and subproduct_name = 'TRACTOR') into total from dual
 return total ;
end rural_finance;
不幸的是,我的pl sql开发人员不知何故没有显示这些错误,因此我无法找出问题所在

另外,当尝试重新编译它时,它会显示“对象不存在”或已删除

谢谢。

首先: 如果使用表别名(此处为“t”),则:

正如上面所说的那样,双重身份之后的“;”:

into total from dual**;**

添加
至少在dual之后。如果使用,请确保使用程序窗口编辑和编译代码,因为这将突出显示编译错误及其源代码行等。
load_date
列是实际日期(datatype
date
)还是字符串(datatype
varchar2
)?此外,双引号的意思是“无论任何标准对象命名规则或常识如何,都严格按照我键入的方式使用此对象名称”,因此
“农村金融”
指的是一个名为“农村金融”的列,包含两个空格。我希望你没有一个名为“农村金融”的专栏。我得到了这个问题,当然是一个“;”dual之后是个问题,但在此之前,我在函数名中使用了引号标识符。当我删除引号时,我得到了“;”的实际错误。
into total from dual**;**