何かがオフになっていますが、何が欠けているのかわかりません。ORA-06550 PL/SQLプロシージャを作成しようとするとエラーが発生する
select
grade.sectionid,
grade.studentid,
course.courseid
FROM section
INNER JOIN grade
ON grade.sectionid = section.sectionid
INNER JOIN course
ON course.courseid = section.courseid;
DECLARE
CURSOR mycursor is
select
sectionid, studentid, courseid, coursename
FROM grade, course, section;
var_secID NUMBER(10);
var_studentID NUMBER (10);
var_gradeLetter CHAR(1);
var_coursetitle VARCHAR2(25);
BEGIN
OPEN mycursor;
LOOP
FETCH mycursor
INTO var_secID, var_studentID, var_gradeLetter, var_coursetitle;
EXIT WHEN mycursor%NOTFOUND;
If var_coursetitle(coursename,1) BETWEEN A AND F then
UPDATE grade
SET grade = 'A'
WHERE sectionid;
END IF;
END LOOP;
CLOSE mycursor;
END;
/
このエラーを取得してください:21行で
ERROR:
ORA-06550:行21、列18:
PL/SQL:ORA-00920:無効な関係演算子を
ORA-06550:行19、列4:
PL/SQL:SQLステートメント
カーソル定義の結合は... ....... FROMグレード、コース、セクション。 'は3つのテーブルのクロス結合を作成します(これらの3つのテーブルからすべての行のすべての組み合わせを生成します)。このクエリを使用して何を達成したいのかよく分かりません。 – krokodilko
私はグレードテーブルにグレードを設定するトリガーを作成しました。私は、学生のコース名の最後の手紙を見て、その最後の手紙に応じて学年(A-F)を割り当てる手順を欲しがっています。それは明確にするのに役立ちますか?(これは初めてデータベースやSQLを使って作業しているので、私はまだ非常に新しく、物事を理解しようとしています)。 – ecooper10
最後に、あなたは '...更新階... WHEREセクションid;'それはどういう意味ですか?セクションid **何**?そこに何かがありません。 – mathguy