Temporary table

Ushbu qo'llanmada siz PostgreSQL vaqtinchalik jadvali va uni qanday samarali boshqarish haqida bilib olasiz.

image

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.

PostgreSQL vaqtinchalik jadval nomi

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:

PostgreSQL vaqtinchalik jadvalini olib tashlash

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.

© postgresqltutorial.com

Last updated

Was this helpful?