Temporary table
Last updated
Last updated
Ushbu qo'llanmada siz PostgreSQL vaqtinchalik jadvali va uni qanday samarali boshqarish haqida bilib olasiz.
Vaqtinchalik jadval, nomidan ko'rinib turibdiki, ma'lumotlar bazasi sessiyasi davomida mavjud bo'lgan qisqa muddatli jadvaldir. PostgreSQL seans yoki tranzaksiya oxirida vaqtinchalik jadvallarni avtomatik ravishda tushiradi.
Vaqtinchalik jadval yaratish uchun siz CREATE TEMPORARY TABLE
iborasidan foydalanasiz:
Ushbu sintaksisda:
Birinchidan, CREATE TEMPORARY TABLE
kalit so'zlaridan keyin vaqtinchalik jadval nomini belgilang.
Ikkinchidan, CREATE TABLE
bayonotidagi bilan bir xil bo'lgan ustunlar ro'yxatini belgilang.
TEMP
va TEMPORARY
kalit so'zlari ekvivalentdir, shuning uchun ularni bir-birining o'rnida ishlatishingiz mumkin:
Vaqtinchalik jadval faqat uni yaratgan seansga ko'rinadi. Boshqacha qilib aytganda, u boshqa seanslarga ko'rinmaydi.
Keling, bir misolni ko'rib chiqaylik.
Birinchidan, psql
dasturi yordamida PostgreSQL ma'lumotlar bazasi serveriga kiring va test
nomli yangi ma'lumotlar bazasini yarating:
Keyin mytemp
nomli vaqtinchalik jadvalni quyidagicha yarating:
Keyin test
ma'lumotlar bazasiga ulanadigan boshqa seansni ishga tushiring va mytemp
jadvalidagi ma'lumotlarni so'rang:
Natijadan aniq ko'rinib turibdiki, ikkinchi seans mytemp
jadvalini ko'ra olmadi. Unga faqat birinchi seans kirishi mumkin.
Shundan so'ng, barcha seanslarni to'xtating:
Nihoyat, ma'lumotlar bazasi serveriga qayta kiring va mytemp
jadvalidan ma'lumotlarni so'rang:
mytemp
jadvali mavjud emas, chunki seans tugagandan so'ng u avtomatik ravishda o'chirilgan, shuning uchun PostgreSQL xatoga yo'l qo'ydi.
Vaqtinchalik jadval doimiy jadval bilan bir xil nomga ega bo'lishi mumkin, garchi u tavsiya etilmasa ham.
Doimiy jadval bilan bir xil nomga ega bo'lgan vaqtinchalik jadvalni yaratganingizda, vaqtinchalik jadval o'chirilmaguncha doimiy jadvalga kira olmaysiz. Quyidagi misolni ko'rib chiqing:
First, create a table named customers
:
Ikkinchidan, xuddi shu nom bilan vaqtinchalik jadval yarating: customers
Endi, customers
jadvalidan maʼlumotlarni soʻrang:
Bu safar PostgreSQL doimiy customers
o'rniga vaqtinchalik jadvalga kirdi.
E'tibor bering, PostgreSQL maxsus sxemada vaqtinchalik jadvallarni yaratadi, shuning uchun siz CREATE TEMP TABLE
bayonotida sxemani ko'rsata olmaysiz.
Agar siz test
maʼlumotlar bazasida jadvallarni roʻyxatga kiritsangiz, doimiy jadvalni emas, faqat vaqtinchalik customers
jadvalini koʻrasiz:
Chiqish customers
vaqtinchalik jadvalining pg_temp_3.
sxemasini ko'rsatadi.
Bunday holda, doimiy jadvalga kirish uchun siz to'liq malakali nomdan foydalanishingiz kerak, ya'ni sxema bilan prefiks. Masalan:
Vaqtinchalik jadvalni tushirish uchun siz DROP TABLE
iborasidan foydalanasiz. Quyidagi bayonot vaqtinchalik jadvalni tashlash uchun DROP TABLE
iborasidan foydalanadi:
CREATE TABLE
iborasidan farqli o'laroq, DROP TABLE
operatorida vaqtinchalik jadvallar uchun maxsus yaratilgan TEMP
yoki TEMPORARY
kalit so'zlari mavjud emas.
Misol uchun, quyidagi bayonot biz yuqoridagi misolda yaratgan vaqtinchalik customers
jadvalini olib tashlaydi:
Jadvallarni test
maʼlumotlar bazasida yana roʻyxatga kiritsangiz, doimiy jadval customers
quyidagicha koʻrinadi:
Ushbu qo'llanmada siz vaqtinchalik jadval va uni CREATE TEMP TABLE
va DROP TABLE
iboralari yordamida qanday yaratish va tushirish haqida bilib oldingiz.