Vaqtinchalik jadvallar
Vaqtinchalik mahalliy va global jadvallar
Jadval o'zgaruvchilari bilan bir qatorda, vaqtinchalik jadvallar ham aniqlanishi mumkin. Bunday jadvallar jadval ma'lumotlarini murakkab murakkab skript ichida saqlash uchun foydali bo'lishi mumkin.
Vaqtinchalik jadvallar ma'lumotlar bazasi sessiyasi davomida mavjud. Agar shunday jadval SQL Server Management Studio'da so'rovlar muharririda yaratilgan bo'lsa, u holda jadval so'rovlar muharriri ochiq bo'lganda mavjud bo'ladi. Shunday qilib, vaqtinchalik jadvalga so'rovlar muharriri ichidagi turli skriptlardan kirish mumkin.
Yaratilgandan so'ng barcha vaqtinchalik jadvallar MS SQL Serverda sukut bo'yicha mavjud bo'lgan tempdb jadvalida saqlanadi.
Agar siz ma'lumotlar bazasi sessiyasi tugashidan oldin jadvalni tushirishingiz kerak bo'lsa, ushbu jadvalga DROP TABLE buyrug'ini bering.
Vaqtinchalik jadvalning nomi funt belgisi # bilan boshlanadi. Agar bitta # belgisi ishlatilsa, joriy seans davomida mavjud bo'lgan mahalliy jadval yaratiladi. Agar ikkita ## belgisi ishlatilsa, u holda global vaqtinchalik jadval yaratiladi. Mahalliy global vaqtinchalik jadvaldan farqli o'laroq, u barcha ochiq ma'lumotlar bazasi sessiyalarida mavjud.
Masalan, mahalliy vaqtinchalik jadval yaratamiz:
Va siz ushbu jadval bilan odatdagi jadval kabi ishlashingiz mumkin - ma'lumotlarni oling, qo'shing, o'zgartiring va o'chiring. Faqat so'rovlar muharriri yopilgandan so'ng, bu jadval o'z faoliyatini to'xtatadi.
Bunday jadvallar ba'zi vaqtinchalik oraliq ma'lumotlar uchun qulaydir. Masalan, bizda uchta jadval bor deylik:
Buyurtmalar jadvalidagi oraliq ma'lumotlarni vaqtinchalik jadvalga ko'rsatamiz:
Bu yerda maʼlumotlar avval #Buyurtmalar Summary vaqtinchalik jadvaliga olinadi. Bundan tashqari, ma'lumotlar unga SELECT INTO ifodasi yordamida olinganligi sababli, birinchi navbatda jadval yaratilishi shart emas. Va bu jadvalda mahsulot identifikatori, sotilgan mahsulotning umumiy miqdori va mahsulot qanchaga sotilganligi ko'rsatilgan.
Keyinchalik bu jadval INNER JOIN ifodalarida ishlatilishi mumkin.
Global vaqtinchalik jadvallar xuddi shunday tarzda aniqlanadi, yagona narsa shundaki, ularning nomi ikkita ## belgisi bilan boshlanadi:
Umumiy jadval ifodalari
Vaqtinchalik jadvallarga qo'shimcha ravishda MS SQL Server oddiy so'rovdan olingan va vaqtinchaliklarga qaraganda unumdorroq bo'lgan umumiy jadval ifodalarini (umumiy jadval ifodalari yoki CTE) yaratishga imkon beradi. Umumiy jadval ifodasi WITH kalit so'zi yordamida belgilanadi:
Vaqtinchalik jadvallardan farqli o'laroq, jadvalning bajarilishi xotirada saqlanadi va faqat ushbu jadval ifodasini ifodalovchi so'rovning birinchi bajarilishi paytida mavjud.
Do'stlaringiz bilan baham: |