1丶成績表(學號,課程,成績)
2、資料庫表t_tongji包括:學號、平均成績兩個欄位;
3、撰寫存盤程序,計算每個學生的平均成績,并插入到t_tongji表中;
怎么實作,求大神給答案!!
uj5u.com熱心網友回復:
select 學號,sum(成績)/count(1) 平均成績 from 成績表 group by 學號uj5u.com熱心網友回復:
CREATE OR REPLACE PROCEDURE insert_t_tongji ISBEGIN
FOR i IN SELECT 學號,AVG(成績) 平均成績 FROM 成績表 GROUP BY 學號 LOOP
INSERT INTO t_tongji VALUES(i.學號,i.平均成績);
END LOOP;
END;
uj5u.com熱心網友回復:
上面寫錯了FOR i IN (SELECT 學號,AVG(成績) 平均成績 FROM 成績表 GROUP BY 學號) LOOP
加括號
uj5u.com熱心網友回復:
create or replace procedure Pas
begin
insert into t_tongji select 學號,avg(成績) from 成績表 group by 學號;
end P;
uj5u.com熱心網友回復:
create table grade(stuid varchar2(20),
class varchar2(20),
grade number(4,2)
);
--創建統計表
create table t_tongji(
stuid varchar2(20),
grade_avg number(4,2)
);
--插入測驗資料
begin
for varA in 1..10
loop
for varB in 21..26
loop
insert into grade values(varA,varB||'班',dbms_random.value*100);
end loop;
end loop;
end;
/
--存盤程序
create or replace procedure grade_tongji as
begin
for varA in (select stuid,avg(grade) grade_avg from grade group by stuid)
loop
insert into t_tongji values(varA.stuid,varA.grade_avg);
end loop;
end;
/
--以上步驟經過測驗沒問題,樓主可以試下
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/82480.html
標籤:開發
下一篇:一個關于決議順序的問題
