2017-03-17 6 views
-6

作成しようとしている次の関数で何が問題になっていますか?エラー(4,1):PLS-00103:シンボル "AS"が発生しました

私はこのエラーコードを受け取りましたが、何が問題なのか正確には分かりません。

Error(4,1): PLS-00103: Encountered the symbol "AS" when expecting one of the following:  return 

コード:

create or replace FUNCTION BOD_FM_FSCS_A_Data(
    -- Add the parameters for the function here 
    p_ExclusionsOnly NUMBER DEFAULT 0) 
AS 
IS 
BEGIN 
    INSERT INTO @ATable 
    SELECT DISTINCT SCVID, 
    Title, 
    Forename1, 
    Forename2, 
    Forename3, 
    CASE 
     WHEN CompanyName IS NULL 
     OR CompanyName ='' 
     THEN Surname 
     ELSE CompanyName 
    END AS Surname , 
    PreviousName, 
    NI_No, 
    PassportNo, 
    OtherNational_ID, 
    OtherNational_ID_No , 
    CompanyNo, 
    DateOfBirth 
    FROM DIM_FM_FSCS_Customer customer 
    INNER JOIN DIM_FM_FSCS_CustomerAccLink cal 
    ON cal.FSCSCustomerLink=customer.ID 
    INNER JOIN DIM_FM_FSCS_Account acc 
    ON acc.ID    =cal.FSCSAccountLink 
    AND ((p_ExclusionsOnly=1 
    AND acc.ExclusionCode <>'') 
    OR (p_ExclusionsOnly =0 
    AND acc.ExclusionCode = '')); 
    RETURN 
END; 
+0

'から例です無効なテーブル名です。 '' @ATable "' –

+0

これはエラーの原因ではありません – Azhari

+0

関数は、(上の)CREATE文にRETURN句を必要とします。 – BriteSponge

答えて

2

エラーが自身のために語っています:

エラー(4,1):PLS-00103:1の を期待するとき、 "AS" のシンボルが発生しました次のようになります。return

ASを削除し、funcションのRETURN

create or replace FUNCTION BOD_FM_FSCS_A_Data(
    -- Add the parameters for the function here 
    p_ExclusionsOnly NUMBER DEFAULT 0) 
RETURN NUMBER.... 

はここATable` @docs

CREATE FUNCTION get_bal(acc_no IN NUMBER) 
    RETURN NUMBER 
    IS acc_bal NUMBER(11,2); 
    BEGIN 
     SELECT order_total 
     INTO acc_bal 
     FROM orders 
     WHERE customer_id = acc_no; 
     RETURN(acc_bal); 
    END; 
/
関連する問題