pl/sqlコードでは、特定の従業員の表からdesignation_codeを取得する変数があります。oracle plsql complex statement in if条件
STMT#1
select basic_designation into source_designation
from tbl_emp_basic_profile where basic_id=source_id;
今私はsource_designation
がコードやないの集合であるかどうかを確認する必要があります。 {コードのセット}は以下のSQLによって生成することができる。
STMT#2
select distinct(BASIC_DESIGNATION) as "SET_OF_CODES"
from TBL_EMP_BASIC_PROFILE
where BASIC_DESIGNATION in (select to_number(SD_DESIGNATION_CODE)
from TBL_SETTINGS_DESIGNATION
where lower(SD_DESIGNATION_NAME) like '%professor%'
or lower(SD_DESIGNATION_NAME) like '%lecturer%');
私はそれをどのように行いますか?次のようなIF文を書くことができますか?
IF(source_designation in (STMT#2)) then
--do somtehing
END IF;
なぜあなたの 'WHERE'節に条件を追加しないのですか?このように: 'select v_exists from ... where ... AND BASIC_DESIGNATION = source_designation'。 'v_exists'は見つからなければ0を返し、見つかったものに基づいて0より大きい値を返します。 –
yah今、私は第2ステートメントを第1ステートメントの 'where'節として追加しました。おかげでそれは今働く。 –