0
我正在通過向其添加一些值來更新我的標記平均值。更新表格中的平均值
我的學生表包含(NOSTUDENT,COURSECODE,SEMESTER,NOGROUPE,MARK)列。
我的看法:AverageByGroupe包含在相應學期之後該課程的學生的平均分數。
CREATE OR REPLACE VIEW AverageByGroup AS
SELECT COURSCODE, NOGROUPE, SEMESTER, AVG(MARK) AS AVGMARK
FROM ADMITED_TABLE GROUP BY COURSECODE,NOGROUPE,SEMESTER;
問:我想更新的平均成績爲給定的過程中,組,學期10,但AVGMARK是注意列,它所正確的UPDATE語法。
我曾嘗試:
UPDATE ADMITED_TABLE
SET AVG(MARK) = SELECT((AVG(MARK) + 10)
FROM ADMITED_TABLE WHERE COURSCODE = 'AAAA'
AND NOGROUP = 2
AND SEMESTER = 'AUTMN');
Error:
Error de command ligne: 2 Column: 8
Rapport of error -
Erreur SQL : ORA-00927: missing equal sign
00927. 00000 - "missing equal sign"
*Cause:
*Action:
編輯: 更清楚,這是一個發生變異表,所以每次我想使用的INSTEAD OF INSERT觸發器至極火災標記平均值通過調整該標記來改變。
對於選擇語法錯誤,我包括選擇(
UPDATE ADMITED_TABLE
SET AVG(MARK) = (SELECT (AVG(MARK) + 10)
FROM ADMITED_TABLE WHERE COURSCODE = 'AAAA'
AND NOGROUP = 2
AND SEMESTER = 'AUTMN');
錯誤:
ORA-00927: missing equal sign
00927. 00000 - "missing equal sign"
*Cause:
*Action:
您嘗試更新表中的列,這是不可能的平均值。 –
你有語法錯誤 - 括號應該包括SELECT。你可以發佈修復後得到的錯誤嗎? –
這是不可能的,這是一個視圖,除非將所有選定列寫入新表,否則不能直接修改此視圖中的值。然後執行我給你的下面的查詢。 (您的查詢中也有一些語法錯誤) – LONG