لزيارة الدرس السابق من هنا قواعد البيانات العلائقية الـ view
تعرف الجداول المؤقتة في الـ SQL على انها الجداول التي
يتم انشاؤها لتخديم غرض مؤقت ويستمر وجودها لفترة محددة من الزمن او خلال جلسة ما
او خلال مناقلة.
استخدام الجداول المؤقته في SQL Server
تختلف الصيغة المخصصة لإنشاء جدول مؤقت في قواعد البيانات المختلفة
ففي حالة SQL Server تكون الصيغة كما يلي :
CREATE TABLE # tmp_Table (Field1Name Field1Type , Field2Name Field2Type;
نلاحظ في الصيغة اننا استخدمنا صيغة انشاء الجداول المعروفة CREATE TABLE ولكننا اضفنا اشارة الشارب # قبل
اسم الجدول للتعبير عن كونه جدول مؤقت.
في SQL Server لكي يكون الجدول المؤقت
محلي أي لا يمكن الوصول اليه الا عبر الاتصال الذي قام بإنشائه نستخدم اشارة واحده
فقط # .
اما لو اردنا ان يكون الجدول المؤقت عام متاح لاي مستخدم نستخدم
اشارتين ##.
يتم انشاء الجداول المؤقتة في SQL Server دائماً في قاعدة البيانات
tempdb الخاصة بالنظام, عندما لا يحذف اتصال ما
الجدول التي انشائها يتم حذفها تلقائياً فور إلغاء الاتصال.
مثال :
لدينا الجدول Students الذي يحتوي قائمة بأسماء
الطلاب studentName وارقامهم studentID ودرجاتهم studentMark لإنشاء الجدول المؤقت
الذي يحتوي اسماء الطلاب ومعدلات نستخدم الصيغة التالية:
CREATE TABLE #tmp (studentName varchar(50) , average INT);
لملء هذا الجدول يمكننا استخدام الصيغة التالية :
Insert Into #tmp select Students.studentName AS studentName,
AVG (studentMark) AS average from Students;
وللاستعلام عن الطلاب الراسبين مثلاُ أي الذين حصلوا على اقل من 50
درجة يمكننا كتابة الاستعلام التالي :
Select studentName , average from #temp where average<50;
استخدام الجداول المؤقتة في Oracle :
تستخدم قواعد البيانات Oracle لانشاء
جدول مؤقت الصيغة CREATE GLOBAL TEMPORARY TABLE عوضا عن CREATE TABLE المستخدمه في SQL
Server ويأخذ الصيغة التالية :
CREATE GLOBAL TEMPORARY TABLE temp_table AS query;
تعبر query عن الاستعلام الذي تحدد
الحقول التي يعيدها اعمدة الجدول المؤقت temp_table .
ولكي نقوم بملء الجدول المؤقت بالقيم سنحتاج الى صيغة منفصلة وهي
Insert Into temp_table query;
مثال:
اذا اردنا انشاء الجدول المؤقت myTemp والذي يحتوي على الحقول productName و productPrice المستخلصة من الجدول Products يمكننا كتابه الصيغة التالية :
CREATE GLOBAL TEMPORARY TABLE myTemp AS
select productName , productPrice from Products;
وكما ذكرنا لن يكون للاستعلام السابق أي دور في ملء الجدول المؤقت
بالبيانات لذا سنحتاج الى الصيغة التالية لملء الجدول الصيغة التالية :
Insert Into myTemp select productName , productPrice from Products;
اكتفي
بهذا ونلتقي في الدرس القادم وهو استخدام الجداول المؤقتة في DB2 واستخدام الجداول في MySQL
إرسال تعليق
لا تبخل علينا باقتراحك او قم بمشاركة الموضوع ليستفيد الاخرين ايضاً شكرا لزيارتك عزيزي الزائر