が含まれている場合:これを実行すると文がSELECTなステートメント
create or replace FUNCTION GET_FUNCTION(STATUS_ID IN VARCHAR2)
RETURN VARCHAR2
IS STATUS_NAME VARCHAR2(255);
BEGIN
IF NVL(STATUS_ID) THEN
STATUS_NAME:='';
ELSIF STATUS_ID LIKE '0' THEN
STATUS_NAME:='UNASSIGNED'
ELSE
SELECT TABLE_A.NAME INTO STATUS_NAME FROM TABLE_A where
TABLE_A.ID=STATUS_ID;
END IF;
RETURN(STATUS_NAME);
end;
を私は次のエラーを取得する:
Error(9,4): PLS-00103: Encountered the symbol "ELSE" when expecting one of the following:
* & = - + ; </> at in is mod remainder not rem <an exponent (**)> <> or != or ~= >= <= <> and or like like2 like4 likec between || multiset member submultiset
The symbol ";" was substituted for "ELSE" to continue.
問題は何ですか?あなたは(あなたのコード内の8行目 - 私はコメントを追加しました)を実行するために各ステートメントの後にセミコロンを追加する必要が
これには「CASEWHEN」を使用できます。 –
無関係ですが、 'STATUS_ID LIKE '0''は意味をなさない。それは 'STATUS_ID = '0'と同じです –
私はSQLに新しいです – Saurabh