oracle创建存储过程,计算成绩大于100的学生人数
时间: 2023-07-12 09:17:32 浏览: 43
好的,根据您的需求,我给出以下的存储过程示例:
```
CREATE OR REPLACE PROCEDURE count_students_above_100
IS
num_students NUMBER;
BEGIN
SELECT COUNT(*) INTO num_students
FROM students
WHERE score > 100;
DBMS_OUTPUT.PUT_LINE('Number of students with score above 100: ' || num_students);
END;
```
解释一下上述代码:
- `CREATE OR REPLACE PROCEDURE` 表示创建或替换一个存储过程,`count_students_above_100` 是这个存储过程的名字。
- `IS` 表示存储过程体开始。
- `num_students NUMBER;` 声明一个名为 `num_students` 的变量,用于存储成绩大于100的学生人数。
- `SELECT COUNT(*) INTO num_students` 查询成绩大于100的学生人数,并将结果存储到 `num_students` 变量中。
- `WHERE score > 100` 是查询条件,用于筛选成绩大于100的学生。
- `DBMS_OUTPUT.PUT_LINE` 用于输出结果。
- 存储过程体结束后,需要用 `END` 结束。
执行存储过程的方法为:
```
BEGIN
count_students_above_100;
END;
```
执行上述代码后,就会输出成绩大于100的学生人数。