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

معاملات الإجراء: IN و OUT و INOUT

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

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

تقييم الدرس 17: معاملات الإجراء: IN و OUT و INOUT. إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».

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

1) الاتجاه الافتراضي للمعامل:
2) ما الذي يطبعه هذا الكود؟
query.sql
CREATE PROCEDURE dbl(INOUT x int) LANGUAGE plpgsql AS $$ BEGIN x := x * 2; END $$;DO $$ DECLARE v int := 10; BEGIN CALL dbl(v); RAISE NOTICE '%', v; END $$;
3) في Oracle يُكتب معامل خارج:
4) ماذا تُرجع دالة لها معاملا OUT؟
5) p(1, pct => 20) يعني:

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

1) تغيير معامل IN داخل الإجراء يغيّر متغير المستدعي.
الصواب: خطأ
2) يمكن أن يكون للإجراء أكثر من معامل OUT.
الصواب: صح
3) المعامل الذي له DEFAULT يمكن حذفه عند الاستدعاء.
الصواب: صح
4) MySQL يدعم تسمية المعاملات بـ =>.
الصواب: خطأ
5) داخل كتلة نستقبل OUT في متغير.
الصواب: صح

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

1) المعامل الذي يدخل ويخرج يُعرّف بـ .
الإجابة: INOUT
2) لجعل المعامل اختياريًّا نضيف ثم قيمته.
الإجابة: DEFAULT
3) في MySQL: CALL p(1, @v); ثم
الإجابة: SELECT @v;

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

1) الإجراء يطبع عدد طلبات خالد. ما ناتج الاستعلام الأخير الذي يتحقق منه؟

query.sql
CREATE PROCEDURE customer_stats(  IN  cid    int,  OUT n_orders int,  OUT spent    numeric)LANGUAGE plpgsqlAS $$BEGIN  SELECT count(DISTINCT o.id), coalesce(sum(i.qty * i.unit_price), 0)  INTO n_orders, spent  FROM orders o LEFT JOIN order_items i ON i.order_id = o.id  WHERE o.customer_id = cid;END;$$;DO $$DECLARE n int; s numeric;BEGIN  CALL customer_stats(2, n, s);  RAISE NOTICE '%', n;END $$;SELECT count(*) FROM orders WHERE customer_id = 2;
الناتج الصحيح:
النتيجة · صف واحد
count
2

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

query.sql
CREATE FUNCTION mm(OUT a int, OUT b int) LANGUAGE sql AS $$ SELECT min(stock), max(stock) FROM products $$;SELECT b FROM mm();
الناتج الصحيح:
النتيجة · صف واحد
b
200
أجب عن الأسئلة ثم اضغط «صحّح ورقتي».

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