pl/sql用户怎么循环获取输入的信息?

例如:编写一段pl/sql代码,循环获取用户输入的学生学号,打印出该学生的姓名和成绩,当输入的学号为-1时,退出
这怎么写

您好!根据您的问题,我可以提供以下的PL/SQL代码示例来循环获取用户输入的学生学号,并在输入-1时退出循环:

DECLARE
    v_stu_num NUMBER;
    v_stu_name VARCHAR2(50);
    v_stu_score NUMBER;
BEGIN
    LOOP
        v_stu_num := &enter_stu_num; --获取学生学号输入,&enter_stu_num为SQL Plus变量
        EXIT WHEN v_stu_num = -1; --当输入-1时,退出循环
        SELECT stu_name, stu_score INTO v_stu_name, v_stu_score FROM student WHERE stu_num = v_stu_num;
        --根据学号查询学生姓名和成绩
        DBMS_OUTPUT.PUT_LINE('学生姓名:'||v_stu_name||',学生成绩:'||v_stu_score);
        --将学生姓名和成绩输出
    END LOOP;
END;

在以上的代码中,使用了LOOP循环来反复获取用户输入的学生学号,并使用SELECT语句查询学生姓名和成绩,将其存储到变量v_stu_name和v_stu_score中,并使用DBMS_OUTPUT.PUT_LINE将学生姓名和成绩输出。当用户输入-1时,程序将退出循环。另外,&enter_stu_num为SQL Plus变量,编写PL/SQL代码时可以通过这个变量来获取用户输入的学生学号。