我應該更新年級學生根據程序PL/SQL編寫一個過程來更新列?
ChangeGrade(p_sID, p_classID)
如果學生沒有在類(p_classID)就讀「A」則打印錯誤消息。
下面是表:
招生報名
sID classID Grade
*** ******* *****
104 10440 B
102 10220 C
... ..... .
我應該做一個內部聯接?這是我有什麼:
Create or Replace ChangeGrade (
p_sID enrolling.sID%type
p_classID enrolling.classID%type)
AS
p_id_enrolled NUMBER;
BEGIN
SELECT sID into p_id_enrolled
FROM Enrolling
WHERE sID = p_sID
AND classID = p_classID
IF p_sID = p_id_enrolled THEN
update Enrolling
set GRADE = 'A'
dbms_output.put_line('Student grade has been changed.')
ELSE
dbms_output.put_line('Student record does not exist.')
END IF;
END;
/
所以什麼錯誤。你面臨什麼問題? 'dbms_output.put_line('學生成績已被更改'。)'最後缺少分號。它應該是 'dbms_output.put_line('學生成績已被更改');' – XING
在第7行得到錯誤:如果p_sID = p_id_enrolled那麼它表示SQL命令沒有正確結束。在第2行,SELECT sID到p_id_enrolled中,它表示SQL語句被忽略。 – Lizzie
PL/SQL代碼中的每個語句都必須後面跟着'; – Dmitry