📄 college_total.sql
字号:
--院校招生情况统计表 COLLEGE_TOTAL
CREATE OR REPLACE PROCEDURE COLLEGE_TOTAL
AS
V_YXBH NUMBER(4);
V_AVG NUMBER(4);
V_MAX NUMBER(4);
V_MIN NUMBER(4);
V_BOY NUMBER(3);
V_GIRL NUMBER(3);
V_ZSRS NUMBER(3);
V_LQRS NUMBER(3);
V_YXMC VARCHAR2(20);
CURSOR STU_CURSOR IS
SELECT 录取院校,AVG(总分),MAX(总分),MIN(总分) FROM STUDENT GROUP BY 录取院校 ORDER BY AVG(总分) DESC;
BEGIN
DBMS_OUTPUT.PUT_LINE('院校编号 院校名称 招生人数 录取人数 男生人数 女生人数 最高分数 最低分数 平均分数');
OPEN STU_CURSOR;
LOOP
FETCH STU_CURSOR INTO V_YXBH,V_AVG,V_MAX,V_MIN;
EXIT WHEN STU_CURSOR%NOTFOUND;
IF V_YXBH IS NOT NULL THEN
SELECT 院校名称,招生人数,录取人数 INTO V_YXMC,V_ZSRS,V_LQRS
FROM COLLEGE WHERE 院校编号=V_YXBH;
SELECT COUNT(*) INTO V_BOY FROM STUDENT WHERE 录取院校=V_YXBH AND 性别=1;
SELECT COUNT(*) INTO V_GIRL FROM STUDENT WHERE 录取院校=V_YXBH AND 性别=2;
DBMS_OUTPUT.PUT_LINE(RPAD(V_YXBH,8,' ')||RPAD(V_YXMC,18,' ')||RPAD(V_ZSRS,9,' ')||RPAD(V_LQRS,9,' ')||RPAD(V_BOY,9,' ')||RPAD(V_GIRL,9,' ')||RPAD(V_MAX,9,' ')||RPAD(V_MIN,9,' ')||RPAD(V_AVG,9,' '));
END IF;
END LOOP;
CLOSE STU_CURSOR;
END;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -