oracle
  • plsql
  • oracle11g
  • plsqldeveloper
  • 2016-07-28 65 views -2 likes 
    -2

    我是pl sql的新手,一直試圖執行這個函數,但得到編譯錯誤。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),請確保您使用的是Program窗口來編輯和編譯您的代碼,因爲這將突出顯示編譯錯誤及其錯誤源代碼行等 –

    +0

    'load_date'列的實際日期(數據類型'日期')或字符串(數據類型'varchar2')?此外,雙引號表示「完全按照我輸入的名稱使用此對象名稱,而不考慮任何標準對象命名規則或常識」,因此「RURAL FINANCE」指的是完全用這兩個空格填充的列。我希望你沒有一個名爲「農村金融」的專欄。 –

    回答

    0

    第一: 如果使用表的別名(這裏: 「T」),則:

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

    和被說 - 「;」雙重後:

    into total from dual**;** 
    
    相關問題