2016-07-28 12 views
-2

この関数を実行しようとしましたが、コンパイルエラーが発生しました。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の開発者は、何らかの形でこれらのエラーが表示されていないので、私は問題を把握することはできませんよ。

また、再コンパイルしようとすると、「オブジェクトが存在しない」、またはすでに削除されていると表示されます。

ありがとうございました。

+0

少なくとも二重の後に ';'を追加します。 – nilsman

+1

[PL/SQL Developer](https://www.allroundautomations.com/plsqldev.html)を使用している場合は、プログラム・ウィンドウを使用してコードを編集してコンパイルすることをお勧めします。ソースラインなど –

+0

'load_date'カラムは実際の日付(データ型' date')か文字列(データ型 'varchar2')ですか?また、二重引用符は、 "標準オブジェクトの命名規則や常識にかかわらず、このオブジェクト名を正確に使用してください"という意味で、 "RURAL FINANCE"は2つのスペースで完全に指定された列を指します。あなたは '' RURAL FINANCE ''という列を持たないことを願っています。 –

答えて

0

まず: あなたが(ここでは "T")テーブルの別名を使用する場合、その後:

from rural_master_view1 t where t.load_date='apr-15' and t.activity='FINANCE_AMOUNT 

とを言われたとして - ";"二重の後:

into total from dual**;** 
関連する問題