أوراكل تكوين جدول مؤقت

Awrakl Tkwyn Jdwl Mwqt



تعد الجداول المؤقتة العامة مفيدة عند تخزين البيانات المؤقتة المطلوبة فقط لمعاملة أو مدة الجلسة. على عكس الجداول العادية ، يتم إسقاط الجداول المؤقتة العامة تلقائيًا عند انتهاء الجلسة أو المعاملة. لذلك ، لا يلزم إسقاطها بشكل صريح مثل الطاولات العادية. ومع ذلك ، تكون الجداول المؤقتة العامة مرئية فقط للجلسة الحالية ، لذلك لا يمكن الوصول إليها من قبل جلسات العمل الأخرى أو المستخدمين.

في Oracle ، يعد الجدول المؤقت العام نوعًا خاصًا من الجداول تم إنشاؤه باستخدام عبارة 'إنشاء جدول مؤقت عام'. هذه العبارة مشابهة لعبارة 'إنشاء جدول' العادية ولكنها تتضمن الكلمة الرئيسية 'المؤقتة العالمية' لتحديد أن الجدول هو جدول مؤقت عام.







صيغة العبارة 'CREATE GLOBAL TEMPORARY TABLE' هي كما يلي:



إنشاء جدول مؤقت عالمي table_name (
نوع بيانات العمود 1 [NULL | غير فارغة]،
نوع بيانات العمود 2 [NULL | غير فارغة]،
...
) [ON COMMIT {DELETE | حفظ} الصفوف] ؛

في بناء الجملة هذا ، table_name هو اسم الجدول المؤقت العام الذي تريد إنشاءه. العمود 1 والعمود 2 وما إلى ذلك ، هي أسماء وأنواع بيانات الأعمدة في الجدول.



تحدد عبارة ON COMMIT ما إذا كان سيتم حذف الصفوف الموجودة في الجدول أو الاحتفاظ بها عند تنفيذ المعاملة الحالية. سيستخدم مشغل قاعدة البيانات الخيار ON COMMIT DELETE ROWS إذا لم يتم تعريف جملة ON COMMIT.





كما ذكرنا ، ضع في اعتبارك أن البيانات الموجودة في الجدول المؤقت خاصة. هذا يعني أنه لا يمكن الوصول إلى أي جلسات أخرى بخلاف التي أنشأت الجدول.

إنشاء مثال جدول مؤقت عمومي

دعونا نكتشف بعض الأمثلة العملية لاستخدام عبارة إنشاء جدول مؤقت في قواعد بيانات Oracle.



ضع في اعتبارك مثال الاستعلام الموضح أدناه:

إنشاء جدول مؤقت عالمي temp_sales (
product_id NUMBER (10) NOT NULL ،
sale_date DATE NOT NULL ،
sale_amount NUMBER (10،2) NOT NULL
) عند تنفيذ حذف الصفوف ؛

في المثال أعلاه ، نقوم بإنشاء جدول مؤقت باستخدام خيار ON COMMIT DELETE ROWS.

يمكننا بعد ذلك إدخال بعض البيانات النموذجية على النحو التالي:

INSERT INTO TEMP_SALES (product_id، sale_date، sale_amount) VALUES (1، DATE '2022-10-01'، 100) ؛
INSERT INTO TEMP_SALES (product_id، sale_date، sale_amount) VALUES (2، DATE '2022-10-02'، 500) ؛
INSERT INTO TEMP_SALES (product_id، sale_date، sale_amount) VALUES (3، DATE '2022-10-03'، 130) ؛

بعد ذلك يمكنك تنفيذ المعاملة على النحو التالي:

ارتكب؛

بعد الالتزام ، سيقوم مشغل قاعدة البيانات باقتطاع كافة البيانات الموجودة في الجدول المؤقت كما هو محدد في بند الالتزام.

مثال 2

يوضح المثال التالي كيفية إنشاء جدول يحتفظ بالصفوف عند الالتزام:

إنشاء جدول مؤقت عالمي temp_sales (
product_id NUMBER (10) NOT NULL ،
sale_date DATE NOT NULL ،
sale_amount NUMBER (10،2) NOT NULL
) عند الالتزام بالصفوف الاحتياطية ؛

يمكننا بعد ذلك إضافة عينة من الصفوف والالتزام كما هو موضح:

INSERT INTO TEMP_SALES (product_id، sale_date، sale_amount) VALUES (1، DATE '2022-10-01'، 100) ؛
INSERT INTO TEMP_SALES (product_id، sale_date، sale_amount) VALUES (2، DATE '2022-10-02'، 500) ؛
INSERT INTO TEMP_SALES (product_id، sale_date، sale_amount) VALUES (3، DATE '2022-10-03'، 130) ؛

ارتكب؛

في هذه الحالة ، يجب الاحتفاظ بالبيانات بعد عملية الالتزام ، كما هو موضح في عبارة select أدناه:

حدد * من TEMP_SALES ؛

انتاج:

استنتاج

عبارة 'إنشاء جدول مؤقت' هي أداة قوية لإنشاء جداول مؤقتة في Oracle. تعد الجداول المؤقتة مفيدة لتخزين البيانات المؤقتة المطلوبة فقط لمعاملة أو جلسة. تسمح لك عبارة 'إنشاء جدول مؤقت' بتحديد هيكل وأعمدة الجدول المؤقت وتحديد كيفية معالجة الصفوف عند تنفيذ المعاملة. نتيجة لذلك ، يمكن أن يؤدي استخدام الجداول المؤقتة إلى تحسين أداء وكفاءة استعلاماتك وتطبيقاتك وتقليل مقدار مساحة التخزين الدائمة المطلوبة في قاعدة البيانات الخاصة بك.