如何在循环pl/sql中重复select语句?

如何在循环pl/sql中重复select语句?,sql,plsql,Sql,Plsql,我想从我的表格中选择列suspend_account上有“N”的每一行,以填充下面的我的表单字段。我的表单有更多的字段,但我只是把其中的一个放在那里。任何帮助都将不胜感激。这是在pl/sql中,我使用toad for oracle -Select语句- SELECT SZRUNSP_STUDENT_NO, SZRUNSP_STUDENT_NAME, SZRUNSP_SUSPEND_ACCOUNT, SZRUNSP_U

我想从我的表格中选择列suspend_account上有“N”的每一行,以填充下面的我的表单字段。我的表单有更多的字段,但我只是把其中的一个放在那里。任何帮助都将不胜感激。这是在pl/sql中,我使用toad for oracle

-Select语句-

SELECT 
        SZRUNSP_STUDENT_NO,     
        SZRUNSP_STUDENT_NAME, 
        SZRUNSP_SUSPEND_ACCOUNT, 
        SZRUNSP_UNSUSPEND_DATE 

    INTO v_stu_id, 
         v_stu_name, 
         v_sus_account, 
         v_unsus_date 
        FROM SATURN.SZRUNSP
    WHERE SZRUNSP_SUSPEND_ACCOUNT = ('N')
    ORDER BY SZRUNSP_UNSUSPEND_DATE ASC;
-表单字段-

twbkfrmt.p_TableDataWhite (HTF.formtext (
                                    cname        => '',
                                    csize        => 15,
                                    cmaxlength   => 9,
                                    cvalue       => v_stu_id,
                                    cattributes  => 'style="font-size:12px" readonly ' || disabled))

我很确定,这就是你需要的。这里需要一个游标,因为您需要一个循环来获取Suspend_Account='N'所在的所有学生

DECLARE 
    cursor c_cur
        IS
        SELECT 
        SZRUNSP_STUDENT_NO,     
        SZRUNSP_STUDENT_NAME, 
        SZRUNSP_SUSPEND_ACCOUNT, 
        SZRUNSP_UNSUSPEND_DATE 
    WHERE SZRUNSP_SUSPEND_ACCOUNT = ('N')
    ORDER BY SZRUNSP_UNSUSPEND_DATE ASC;
BEGIN
FOR rec in c_cur
LOOP
    twbkfrmt.p_TableDataWhite (HTF.formtext (
                                cname        => '',
                                csize        => 15,
                                cmaxlength   => 9,
                                cvalue       => rec.SZRUNSP_STUDENT_NO,
                                cattributes  => 'style="font-size:12px" readonly ' || disabled))
END LOOP;
END;

明亮的谢谢@Sudipta Mondal。。我也在做类似的事情,但它开始让我犯很多错误