PLS-00103: واجه رمز "نهاية الملف" في كتلة التحديث البسيطة
سؤال
بيان أوراكل التالي:
DECLARE ID NUMBER;
BEGIN
UPDATE myusername.terrainMap
SET playerID = :playerID,tileLayout = :tileLayout
WHERE ID = :ID
END;
يعطيني الخطأ التالي:
ORA-06550: line 6, column 15:
PL/SQL: ORA-00933: SQL command not properly ended
ORA-06550: line 3, column 19:
PL/SQL: SQL Statement ignored
ORA-06550: line 6, column 18:
PLS-00103: Encountered the symbol "end-of-file" when expecting one of the following:
( begin case declare end exception exit for goto if loop mod
null pragma raise return select update while with
<an identifier> <a double-quoted>
أنا في حيرة. يبدو أن هذا عبارة عن بيان بسيط إلى حد ما. إذا كان ذلك يساعد على أي شيء ، كان لدي بيان مماثل أجرى ملحقًا كان يعمل ، لكن اليوم أعطاني نفس الرسالة.
المحلول
أضف نصف كولون بعد where id=:id
نصائح أخرى
لديك عدد من المشاكل هنا:
مفقود شبه كولون (كما رأى MJB)
:ID
يشير إلى متغير داخلي ، لذلك إعلانك المحلي (DECLARE ID NUMBER;
) لا يتم استخدامه.أنت تستخدم اسمًا متغيرًا (على ما يبدو) هو نفس الاسم مثل colum في الجدول الخاص بك. إذا حاولت استخدام محليك
ID
المتغير ، لا يزال الاستعلام لا يستخدمه إلا إذا كنت تستخدم ملصق كتلة.
ومع ذلك ، يبدو أنك ترسل معرفًا كمتغير ربط على أي حال ، لذلك من المحتمل أن يكون عليك فقط إزالة الإعلان من الكتلة.
بالإضافة إلى السابق ، عليك منع المساحات بين التشغيل المتساوي ،: ، والقيمة مثل هذه:
SQL> BEGIN
2 IF x > y THEN high := x; END IF; -- correct
3 IF x > y THEN high := x; ENDIF; -- incorrect
4 END;
5 /
END;
ERROR at line 4:
ORA-06550: line 4, column 4:
PLS-00103: Encountered the symbol ";" when expecting one of the following:
if
قم بزيارة الموقع لقراءة المزيد ....https://docs.oracle.com/cd/b28359_01/appdev.111/b28370/fundamentals.htm#lnpls002