LuckyTemplates Kullanıcısı İçin SQL Temp Tabloları ve Görünümleri

Bu öğreticide, SQL geçici tablolarını ve görünümlerini tartışacağız . Test etmek ve hata ayıklamak için fiziksel bir tablodan belirli bir veri kümesini çekmek istiyorsanız bu ikisi kullanışlı olabilir . Ayrıca 2 tür geçici tablodan ve bunların farklarından bahsedeceğiz .

SQL geçici tabloları ve görünümleriyle, zaten ayrı bir tabloda depolandığından, tekrar tekrar sorgulamadan birden çok komut kullanarak veri kümesini özgürce değiştirebilirsiniz.

Bu ikisi benzer şekilde çalışsa da, farklılıklarına dikkat etmelisiniz. Bu, belirli bir durumda kullanabileceğiniz en iyi yönteme karar vermenize yardımcı olacaktır.

Adın kendisine bağlı olarak, verileri bir oturumda geçici olarak depolamak için geçici tablolar kullanılır.

Aynı fiziksel bir masada olduğu gibi üzerlerinde de birden fazla işlem yapabiliriz . Çok uzun bir SQL komutunuz olduğunu hayal edin. Bunu geçici bir tabloya koyabilir ve orijinal sorguyu etkilemeden hata ayıklamaya veya hata gidermeye başlayabilirsiniz. Ayrıca, geçici tablolar güçlüdür ve genellikle SQL'de kullanılır.

İçindekiler

SQL'de İki Tür Geçici Tablo

SQL'de 2 tür geçici tablo vardır. Bunlar yerel ve küresel geçici tablolardır.

Yerel geçici tablolar, yalnızca oluşturulduğu bir oturumda bulunur. Diğer oturumlarda bu tabloya erişemeyeceğiz. Bu nedenle, oluşturulduğu oturum kapatıldıktan sonra yerel geçici tablolar artık bulunmayacaktır.

Bunun aksine, genel geçici tablolar oluşturulduğunda tüm oturumlarda erişilebilir. Ancak tüm oturumlar kapatıldığında artık mevcut olmayacak ve artık erişilebilir olmayacaktır.

Yerel için " # " sembolünü ve genel geçici tablo için " ## " işaretini kontrol ederek bir sorguda ne tür geçici tablonun kullanıldığını kolayca tanımlayabileceğinizi unutmayın .

LuckyTemplates Kullanıcısı İçin SQL Temp Tabloları ve Görünümleri

Yerel geçici tablolar genellikle tablo adlarında “ # ” ile başlar.

LuckyTemplates Kullanıcısı İçin SQL Temp Tabloları ve Görünümleri

Öte yandan, global geçici tablolar, tablo adından önce “ ## ” ile başlar.

LuckyTemplates Kullanıcısı İçin SQL Temp Tabloları ve Görünümleri

Ek olarak, hızlı bir şekilde herhangi bir tablo oluşturmak istiyorsanız, örnek olarak SELECT * INTO #customers FROM dbo.courses komutunu uygulayabilirsiniz .

LuckyTemplates Kullanıcısı İçin SQL Temp Tabloları ve Görünümleri

Bu komut, dbo.courses tablosundaki tüm verilerle #customers adlı yeni bir geçici tablo oluşturacaktır .

Microsoft SQL Server Management Studio'daki Görünümler

Şimdi bu örnek komutla SQL görünümlerini tartışalım .

LuckyTemplates Kullanıcısı İçin SQL Temp Tabloları ve Görünümleri

Örneğin, böyle bir komutu tekrar tekrar yürütmek istemediğimizi varsayalım. Aşağıdaki komutu izleyerek basitçe bir görünüme koyabilirsiniz.

LuckyTemplates Kullanıcısı İçin SQL Temp Tabloları ve Görünümleri

Görünüm oluşturmak tablo oluşturmaya benzer. Bunu kullanmak, oluşturduğumuz görünüm adını seçerek girdiğimiz sorguyu çalıştırmamızı sağlayacaktır. Bu durumda, CustomersbyYear_v'dir .

LuckyTemplates Kullanıcısı İçin SQL Temp Tabloları ve Görünümleri

Görünümlerin geçici tablolardan farklı olduğuna dikkat etmek önemlidir. Bunun nedeni, siz silmediğiniz sürece görünümlerin veritabanınızda tıpkı fiziksel bir tablo gibi görünür olmasıdır. Ayrıca, görünümler herhangi bir veri veya değer saklamaz.

Bunun yerine, CREATE VIEW komutundan hemen sonra girdiğiniz komutu işleyecektir . Görünümlerde herhangi bir tablo işlemini de çalıştırabilirsiniz.

En önemlisi, genellikle görünüm adının başına veya sonuna "v" koyarak temsil edildikleri için görünümleri kolayca tanımlayabiliriz.

SQL'de Geçici Tablolar ve Görünümler Oluşturma

Bu örnek için, yürüttükten sonra Sales.SalesOrderHeader ve Sales.Customer C'deki kayıtları birleştirecek ve gösterecek bu sorguya sahibim .

LuckyTemplates Kullanıcısı İçin SQL Temp Tabloları ve Görünümleri

LuckyTemplates Kullanıcısı İçin SQL Temp Tabloları ve Görünümleri

SQL'de Yerel Geçici Tablolar Oluşturma

200 satır uzunluğunda bir sorgu yazdığınızı ve hata ayıklamanız ve üzerinde belirli işlemler gerçekleştirmeniz gerektiğini düşünün. İşlem sırasında daha fazla hataya neden olabileceğinden sorguyu doğrudan düzenleyemezsiniz .

O halde bir önceki örneği kullanarak FROM komutundan önce “ INTO #test_local ” komutunu ekleyerek yerel bir geçici tablo oluşturacağız .

LuckyTemplates Kullanıcısı İçin SQL Temp Tabloları ve Görünümleri

Bu komutu çalıştırdığımızda, #test_local artık Sales.SalesOrderHeader ve Sales.Customer C'nin birleşik kayıtlarını içerecektir . Sonuç olarak, #test_local tablosunu seçtiğinizde bunu göreceksiniz .

LuckyTemplates Kullanıcısı İçin SQL Temp Tabloları ve Görünümleri

Bundan sonra artık #test_local tablosunda herhangi bir işlemi gerçekleştirebiliriz . #test_local'dan tüm kayıtları seçeceğiz, ardından aşağıdaki komutu kullanarak  kayıtların sıralamasını CustomerID'ye göre değiştireceğiz .

LuckyTemplates Kullanıcısı İçin SQL Temp Tabloları ve Görünümleri

Sonuç olarak, kayıtlar artık Müşteri Kimliklerine göre sıralanır. Ancak yerel bir geçici tablo kullandığımız için #test_local tablosuna farklı bir oturumda erişemiyor veya kullanamıyoruz . Sonraki örnek , SQLQuery2.sql'de # test_local'a erişmeye çalışırsak ne olacağını gösterir .

LuckyTemplates Kullanıcısı İçin SQL Temp Tabloları ve Görünümleri

Önceki örneğe göre, #test_local seçildikten sonra bir hata mesajı görüntülendi. Bunun nedeni, #test_local tablosunun yalnızca oluşturulduğu SQLQuery1.sql olan oturumda bulunmasıdır .

SQL'de Global Temp Tabloları Oluşturma

Ardından, #test_local içinde kullandığımız aynı sorguyu kullanacağız . kullanacağız .

LuckyTemplates Kullanıcısı İçin SQL Temp Tabloları ve Görünümleri

Şimdi ##test_global'i seçip kayıtları CustomerID'ye göre sıralarsak, aynı sorguyu kullandığımız için  #test_local'da sahip olduğumuz çıktının aynısını gösterecektir .

LuckyTemplates Kullanıcısı İçin SQL Temp Tabloları ve Görünümleri

Daha sonra ##test_global tablosunu seçerek farklı bir oturumda erişmeye çalışacağız . Global bir geçici tablo kullandığımız için bu sorunsuz çalışıyor.

LuckyTemplates Kullanıcısı İçin SQL Temp Tabloları ve Görünümleri

Bu noktada, yerel ve küresel geçici tablolar arasındaki farkı vurguluyoruz.

Yerel geçici tablolara yalnızca oluşturulduğu bir oturumda erişilebileceğini unutmayın . Bu oturumu kapattığınızda, artık mevcut olmayacak.

Öte yandan, tüm etkin oturumları veya uygulamanın kendisini kapatmadığınız sürece, genel geçici tablolar tüm oturumlar tarafından görülebilir .

SQL'de Görünümler Oluşturma

Şimdi bir view oluşturacağız. Bu örnekte, bunun gibi mevcut bir sorgumuz var.

LuckyTemplates Kullanıcısı İçin SQL Temp Tabloları ve Görünümleri

CREATE VIEW komutunu o sorguya ekleyerek view oluşturmaya başlayabiliriz .

LuckyTemplates Kullanıcısı İçin SQL Temp Tabloları ve Görünümleri

Komutu çalıştırdıktan sonra, üzerinde çalıştığımız veritabanında bir görünüm oluşturulacaktır. Bu örnekte, AdventureWorks2012'dir .

Views klasörünü yeniledikten sonra dbo.CustomerView_v'yi de görmeliyiz . Görünümler klasörünü yenilemek için üzerine sağ tıklayın ve ardından Yenile öğesini seçin .

LuckyTemplates Kullanıcısı İçin SQL Temp Tabloları ve Görünümleri

Görünümler klasörünün sağındaki + simgesini tıkladığınızda dbo.CustomerView_v görünür olacaktır.

LuckyTemplates Kullanıcısı İçin SQL Temp Tabloları ve Görünümleri

Bu görünümü, dbo.CustomerView_v dosyasına sağ tıklayarak ve ardından seçeneklerden İlk 1000 Satırı Seç'i seçerek açabilirsiniz . Bu, o görünümde 1000 kayıt gösterecektir .

LuckyTemplates Kullanıcısı İçin SQL Temp Tabloları ve Görünümleri

Bundan sonra artık dbo.CustomerView_v'yi kullanabilir ve tıpkı bir tablo gibi üzerinde herhangi bir işlemi gerçekleştirebiliriz. Örneğin, dbo.CustomerView_v içinde SalesOrderID değeri 50000'den büyük olan kayıtları seçmek istiyoruz . Bu durumda aşağıdaki komutu kullanacağız.

LuckyTemplates Kullanıcısı İçin SQL Temp Tabloları ve Görünümleri

Artık oluşturduğumuz view üzerinde bir işlem çalıştırabiliriz.

Çözüm

Özetlemek gerekirse, 2 tür geçici tabloyu, farklılıklarını ve neden kullanmamız gerektiğini öğrendik. Ek olarak, geçici tabloların, gerçek sorguya zarar vermeden sorgularınızdaki hataları düzeltmenin bir yolu olarak hizmet ettiğini tartıştık.

Geçici tabloların yalnızca oluşturulduğu oturumlar tarafından görülebileceğini unutmayın. Bu nedenle, etkin oturumları veya uygulamanın kendisini kapattığımızda artık mevcut olmayacaktır.

Ayrıca görünümlerin veri veya kayıt depolamadığını da öğrendik. Yalnızca işlenmesini istediğiniz sorguya dayalı sonuçları gösterir. Bu görünümler, onları oluşturduğumuzda veritabanımızda saklanır. 

Bu ikisini öğrenerek, artık uzun komutları hızlı bir şekilde yürütme ve büyük veri kümesi parçalarını kolaylıkla değiştirme yeteneğine sahipsiniz .

Herşey gönlünce olsun,

Hafız

Leave a Comment

Excel Hücrelerini Metne Sığdırma: 4 Kolay Çözüm

Excel Hücrelerini Metne Sığdırma: 4 Kolay Çözüm

Excel hücrelerini metne sığdırmak için güncel bilgileri ve 4 kolay çözümü keşfedin.

Bir Excel Dosyasının Boyutu Nasıl Küçültülür – 6 Etkili Yöntem

Bir Excel Dosyasının Boyutu Nasıl Küçültülür – 6 Etkili Yöntem

Bir Excel Dosyasının Boyutunu Küçültmek için 6 Etkili Yöntem. Hızlı ve kolay yöntemler ile verilerinizi kaybetmeden yer açın.

Pythonda Self Nedir: Gerçek Dünyadan Örnekler

Pythonda Self Nedir: Gerçek Dünyadan Örnekler

Python'da Self Nedir: Gerçek Dünyadan Örnekler

Rde Bir RDS Dosyası Nasıl Kaydedilir ve Yüklenir

Rde Bir RDS Dosyası Nasıl Kaydedilir ve Yüklenir

R'de bir .rds dosyasındaki nesneleri nasıl kaydedeceğinizi ve yükleyeceğinizi öğreneceksiniz. Bu blog aynı zamanda R'den LuckyTemplates'a nesnelerin nasıl içe aktarılacağını da ele alacaktır.

İlk N İş Günü Tekrar Ziyaret Edildi – Bir DAX Kodlama Dili Çözümü

İlk N İş Günü Tekrar Ziyaret Edildi – Bir DAX Kodlama Dili Çözümü

Bu DAX kodlama dili eğitiminde, GENERATE işlevinin nasıl kullanılacağını ve bir ölçü başlığının dinamik olarak nasıl değiştirileceğini öğrenin.

LuckyTemplatesda Çok İş Parçacıklı Dinamik Görsel Tekniği Kullanarak Öngörüleri Sergileyin

LuckyTemplatesda Çok İş Parçacıklı Dinamik Görsel Tekniği Kullanarak Öngörüleri Sergileyin

Bu eğitici, raporlarınızdaki dinamik veri görselleştirmelerinden içgörüler oluşturmak için Çok Kanallı Dinamik Görseller tekniğinin nasıl kullanılacağını kapsayacaktır.

LuckyTemplatesda İçeriği Filtrelemeye Giriş

LuckyTemplatesda İçeriği Filtrelemeye Giriş

Bu yazıda, filtre bağlamından geçeceğim. Filtre bağlamı, herhangi bir LuckyTemplates kullanıcısının başlangıçta öğrenmesi gereken en önemli konulardan biridir.

LuckyTemplates Çevrimiçi Hizmetindeki Uygulamaları Kullanmak İçin En İyi İpuçları

LuckyTemplates Çevrimiçi Hizmetindeki Uygulamaları Kullanmak İçin En İyi İpuçları

LuckyTemplates Apps çevrimiçi hizmetinin çeşitli kaynaklardan oluşturulan farklı raporların ve içgörülerin yönetilmesine nasıl yardımcı olabileceğini göstermek istiyorum.

Fazla Mesai Kâr Marjı Değişikliklerini Analiz Edin - LuckyTemplates ve DAX ile Analitik

Fazla Mesai Kâr Marjı Değişikliklerini Analiz Edin - LuckyTemplates ve DAX ile Analitik

LuckyTemplates'da ölçü dallandırma ve DAX formüllerini birleştirme gibi teknikleri kullanarak kâr marjı değişikliklerinizi nasıl hesaplayacağınızı öğrenin.

DAX Studioda Veri Önbellekleri İçin Materyalleştirme Fikirleri

DAX Studioda Veri Önbellekleri İçin Materyalleştirme Fikirleri

Bu öğreticide, veri önbelleklerini gerçekleştirme fikirleri ve bunların DAX'ın sonuç sağlama performansını nasıl etkilediği tartışılacaktır.