طَبِّقْهاتعلّم المبدأ، وطبّقه بيدكمقرر 122 · برمجة قواعد البيانات
تقييم الدرس 4

أول إجراء مخزن: CREATE PROCEDURE و CALL

أجب عن الأسئلة ثم اضغط «صحّح ورقتي» في آخر الصفحة. ← العودة إلى الدرس

أسئلة التقييم

تقييم الدرس 4: أول إجراء مخزن: CREATE PROCEDURE و CALL. إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».

1السؤال الأول: اختر الإجابة الصحيحة

1) ما الذي لا يوجد في تعريف الإجراء ويوجد في الدالة؟
2) في Oracle يُستدعى الإجراء من SQL*Plus بـ:
3) ماذا يحدث عند تنفيذ هذا السطر؟
query.sql
SELECT restock(1, 5);
4) المتغير الذي يخبرك هل عدّل UPDATE صفوفًا:
5) الأنسب لـ «حساب سعر بعد الخصم» هو:

2السؤال الثاني: صح أم خطأ

1) يمكن استخدام الإجراء داخل WHERE.
الصواب: خطأ
2) الإجراء يستطيع تنفيذ عدة أوامر INSERT و UPDATE.
الصواب: صح
3) RETURNING id INTO يعمل مع INSERT.
الصواب: صح
4) في MySQL يُستدعى الإجراء بـ CALL أيضًا.
الصواب: صح
5) UPDATE بلا WHERE داخل إجراء يعدّل صفًّا واحدًا فقط.
الصواب: خطأ

3السؤال الثالث: أكمل الفراغات من القائمة المنسدلة

1) يُستدعى الإجراء المخزن في PostgreSQL بالأمر .
الإجابة: CALL
2) لأخذ المعرّف المولَّد بعد INSERT نكتب ثم المتغير.
الإجابة: RETURNING id INTO
3) الإجراء غرضه تنفيذ لا إرجاع قيمة.
الإجابة: عمل

4السؤال الرابع: أسئلة عملية

1) ما المخزون بعد هذا الكود؟

query.sql
CREATE PROCEDURE restock(p_id int, amount int)LANGUAGE plpgsqlAS $$BEGIN  UPDATE products SET stock = stock + amount WHERE id = p_id;  RAISE NOTICE 'أُضيفت % قطعة للمنتج %', amount, p_id;END;$$;CALL restock(12, 7);SELECT stock FROM products WHERE id = 12;
الناتج الصحيح:
النتيجة · صف واحد
stock
10

2) ما ناتج هذا الكود؟

query.sql
CREATE PROCEDURE restock(p_id int, amount int)LANGUAGE plpgsqlAS $$BEGIN  UPDATE products SET stock = stock + amount WHERE id = p_id;  RAISE NOTICE 'أُضيفت % قطعة للمنتج %', amount, p_id;END;$$;CALL restock(99, 5);SELECT count(*) FROM products WHERE stock > 100;
الناتج الصحيح:
النتيجة · صف واحد
count
2
أجب عن الأسئلة ثم اضغط «صحّح ورقتي».

📝 معلم؟ أرسل ملاحظة للمؤلف عن هذا الدرس