اوریکل ٹیمپ ٹیبل بنائیں

Awrykl Ymp Ybl Bnayy



عالمی عارضی میزیں عارضی ڈیٹا کو ذخیرہ کرنے میں مددگار ثابت ہوتی ہیں جو صرف لین دین یا سیشن کی مدت کے لیے درکار ہے۔ باقاعدہ جدولوں کے برعکس، سیشن یا لین دین ختم ہونے پر عالمی عارضی میزیں خود بخود گرا دی جاتی ہیں۔ لہذا، انہیں عام میزوں کی طرح واضح طور پر گرانے کی ضرورت نہیں ہے۔ تاہم، عالمی عارضی میزیں صرف موجودہ سیشن کے لیے نظر آتی ہیں، اس لیے دوسرے سیشنز یا صارفین ان تک رسائی حاصل نہیں کر سکتے۔

اوریکل میں، عالمی عارضی ٹیبل ایک خاص قسم کی میز ہے جسے 'عالمی عارضی ٹیبل بنائیں' بیان کا استعمال کرتے ہوئے بنایا گیا ہے۔ یہ بیان باقاعدہ 'ٹیبل بنائیں' کے بیان سے ملتا جلتا ہے لیکن اس میں کلیدی لفظ 'عالمی عارضی' شامل ہے تاکہ یہ واضح کیا جا سکے کہ ٹیبل ایک عالمی عارضی ٹیبل ہے۔







'عالمی عارضی ٹیبل بنائیں' بیان کا نحو درج ذیل ہے:



عالمی عارضی ٹیبل بنائیں جدول_نام (
کالم 1 ڈیٹا ٹائپ [NULL | NOT NULL]،
کالم 2 ڈیٹا ٹائپ [NULL | NOT NULL]،
...
) [ ON Commit { DELETE | حفاظت} قطاریں]؛

اس نحو میں، table_name اس عالمی عارضی جدول کا نام ہے جسے آپ بنانا چاہتے ہیں۔ کالم 1، کالم 2، وغیرہ، ٹیبل میں کالموں کے نام اور ڈیٹا کی قسمیں ہیں۔



ON COMMIT شق اس بات کی وضاحت کرتی ہے کہ آیا ٹیبل میں موجود قطاروں کو حذف کر دیا جائے گا یا محفوظ کیا جائے گا جب موجودہ لین دین کا ارتکاب کیا جائے گا۔ اگر ON COMMIT شق کی وضاحت نہیں کی گئی ہے تو ڈیٹا بیس انجن ON COMMIT DELETE ROWS کا اختیار استعمال کرے گا۔





جیسا کہ ذکر کیا گیا ہے، ذہن میں رکھیں کہ عارضی ٹیبل میں موجود ڈیٹا نجی ہے۔ اس کا مطلب یہ ہے کہ ٹیبل بنانے والے کے علاوہ کوئی دوسرا سیشن اس تک رسائی حاصل نہیں کرسکتا۔

عالمی عارضی جدول کی مثال بنانا

آئیے اوریکل ڈیٹا بیس میں تخلیق عارضی ٹیبل اسٹیٹمنٹ کو استعمال کرنے کی کچھ عملی مثالیں دریافت کریں۔



ذیل میں دکھائے گئے مثال کے سوال پر غور کریں:

عالمی عارضی ٹیبل temp_sales بنائیں (
product_id نمبر(10) خالی نہیں،
sale_date DATE NOT NULL،
sale_amount NUMBER(10,2) NOT NULL
) صفوں کو حذف کرنے کا عہد کریں۔

اوپر دی گئی مثال میں، ہم ON COMMIT DELETE ROWS آپشن کا استعمال کرتے ہوئے ایک عارضی ٹیبل بناتے ہیں۔

پھر ہم کچھ نمونہ ڈیٹا داخل کر سکتے ہیں جیسے:

TEMP_SALES میں داخل کریں (product_id, sale_date, sale_amount) VALUES (1, DATE '2022-10-01', 100)؛
TEMP_SALES میں داخل کریں (product_id, sale_date, sale_amount) VALUES (2, DATE '2022-10-02', 500)؛
TEMP_SALES میں داخل کریں (product_id, sale_date, sale_amount) VALUES (3, DATE '2022-10-03', 130)؛

اس کے بعد، آپ لین دین اس طرح کر سکتے ہیں:

کمٹ؛

ارتکاب کرنے کے بعد، ڈیٹا بیس انجن عارضی جدول میں موجود تمام ڈیٹا کو کمٹ کی شق میں بیان کیے جانے والے تمام ڈیٹا کو چھوٹا کر دے گا۔

مثال 2

درج ذیل مثال سے پتہ چلتا ہے کہ ایک ٹیبل کیسے بنایا جائے جو کمٹ پر قطاروں کو محفوظ رکھے:

عالمی عارضی ٹیبل temp_sales بنائیں (
product_id نمبر(10) خالی نہیں،
sale_date DATE NOT NULL،
sale_amount NUMBER(10,2) NOT NULL
) صفوں کو محفوظ رکھنے کے عزم پر ;

اس کے بعد ہم نمونے کی قطاریں شامل کر سکتے ہیں اور کمٹ کر سکتے ہیں جیسا کہ دکھایا گیا ہے:

TEMP_SALES میں داخل کریں (product_id, sale_date, sale_amount) VALUES (1, DATE '2022-10-01', 100)؛
TEMP_SALES میں داخل کریں (product_id, sale_date, sale_amount) VALUES (2, DATE '2022-10-02', 500)؛
TEMP_SALES میں داخل کریں (product_id, sale_date, sale_amount) VALUES (3, DATE '2022-10-03', 130)؛

کمٹ؛

اس صورت میں، ڈیٹا کو کمٹ آپریشن کے بعد محفوظ کیا جانا چاہیے، جیسا کہ ذیل میں منتخب بیان سے دکھایا گیا ہے:

منتخب کریں * TEMP_SALES سے؛

آؤٹ پٹ:

نتیجہ

'عارضی جدول بنائیں' بیان اوریکل میں عارضی میزیں بنانے کا ایک طاقتور ٹول ہے۔ عارضی میزیں عارضی ڈیٹا کو ذخیرہ کرنے کے لیے مفید ہیں جو صرف لین دین یا سیشن کے لیے درکار ہیں۔ 'عارضی جدول بنائیں' کا بیان آپ کو عارضی ٹیبل کی ساخت اور کالموں کی وضاحت کرنے اور یہ بتانے کی اجازت دیتا ہے کہ جب لین دین کا ارتکاب ہوتا ہے تو قطاروں کو کیسے ہینڈل کیا جائے گا۔ نتیجے کے طور پر، عارضی جدولوں کا استعمال آپ کے سوالات اور ایپلیکیشنز کی کارکردگی اور کارکردگی کو بہتر بنا سکتا ہے اور آپ کے ڈیٹا بیس میں درکار مستقل اسٹوریج کی جگہ کو کم کر سکتا ہے۔