2017-05-30 3 views
0

ELSE IFの条件を書いていますが、動作していません。PLSEのELSE条件が機能しない

IF P_TYPE='College' THEN  
    INSERT INTO SAPID_INPUTDATA_WIFI(BOCID,BUILDING_RJID,LOCATION_TYPE,TYPE)VALUES 
    (P_BOCID,P_BUILDINGRJID,P_LOCATIONTYPE,P_TYPE) RETURNING ID INTO P_FLAG; 
    END IF; 

ELSE IF P_TYPE='Public WiFi' AND P_LOCATIONTYPE ='Node BLDG' THEN 

    INSERT INTO 
    SAPID_INPUTDATA_WIFI(BUILDING_RJID,LOCATION_TYPE,TYPE)VALUES(P_BOCID, 
    P_BUILDINGRJID,P_LOCATIONTYPE,P_TYPE) RETURNING ID INTO P_FLAG; 

END IF; 
+1

これはpl/sqlで 'elsif'と呼ばれています。 – SomeJavaGuy

+0

@SomeJavaGuy:これもやってみましたがまだ動作していません – BNN

+0

'P_TYPE'または' P_LOCATIONTYPE'の値と比較する値にはいくつか違いがありますが、 'elsif'という正しい構文はありません。これはコンパイル/始めて働いた。何がここで働いていないのですか? – SomeJavaGuy

答えて

0

主な問題は構文です。これを試してください:

IF P_TYPE='College' THEN  
    INSERT INTO SAPID_INPUTDATA_WIFI(
    BOCID, 
    BUILDING_RJID, 
    LOCATION_TYPE, 
    TYPE) 
    VALUES(
    P_BOCID, 
    P_BUILDINGRJID, 
    P_LOCATIONTYPE, 
    P_TYPE) 
    RETURNING ID INTO P_FLAG; 

ELSIF P_TYPE='Public WiFi' AND P_LOCATIONTYPE ='Node BLDG' THEN 
    INSERT INTO SAPID_INPUTDATA_WIFI(
    BUILDING_RJID, 
    LOCATION_TYPE, 
    TYPE) 
    VALUES(
    P_BOCID, 
    P_BUILDINGRJID, 
    P_LOCATIONTYPE, 
    P_TYPE) 
    RETURNING ID INTO P_FLAG; 

END IF; 
関連する問題