如何在IN子句中传递变量

问题描述 投票:0回答:1

我声明了变量i_unit_attempt_status,我想将该变量传递给'In子句'。您能帮我吗?

INNER JOIN student_unit_attempt sua
on sua.person_id=sei.person_id
   AND sua.course_cd=sei.course_cd
   AND sua.unit_cd=sei.unit_cd
   AND (sua.unit_attempt_status in (l_unit_attempt_status))

变量中的数据将是:选项1:“ COMPLETED”,“ DISCONTIN”,“ DUPLICATE”,“ ENROLLED”,“ INVALID”,“ UNCONFIRM”选项2:“ ENROLLED”

sql oracle oracle10g
1个回答
0
投票

您可以像下面一样使用

 INNER JOIN student_unit_attempt sua
  on sua.person_id=sei.person_id
  AND sua.course_cd=sei.course_cd
  AND sua.unit_cd=sei.unit_cd
  AND sua.unit_attempt_status in
     (select column_value 
      from table(sys.dbms_debug_vc2coll(l_unit_attempt_status)));
© www.soinside.com 2019 - 2024. All rights reserved.