Tablo Döndürmek için PostgreSQL İşlevi

Tablo Dondurmek Icin Postgresql Islevi



Bazen, sonuç kümesini kapsüllemek için PostgreSQL veritabanınızda bir tablo döndüren bir işlev oluşturmak isteyebilirsiniz. Kayıtları almanızı sağlayan ve sonuç kümesini tablo olarak görüntüleyen bir dönüş sorgusu kullanan bir “pgSQL” işlevi oluşturmak mümkündür. Bu yazı, tablo döndüren bir PostgreSQL işlevi oluşturma konusunda size rehberlik eder.

Tablo Döndürmek İçin PostgreSQL İşlevi Nasıl Oluşturulur

Bir PostgreSQL veritabanınız olduğunda ve tablodaki kayıtları kontrol etmek istediğinizde, bir işlevi periyodik olarak kullanmak, özellikle de sonuç kümesinde bir tablo döndüren bir PostgreSQL işlevini kullanmak en uygun yoldur. Bu şekilde sonuç kümenizi özetlersiniz ve bu yaklaşımı kullanmak daha iyi bir kod organizasyonuna yardımcı olur.

Tablo döndüren bir PostgreSQL işlevi oluşturmak için kullanılan sözdizimi aşağıdadır:







İŞLEVİ OLUŞTUR VEYA DEĞİŞTİR işlevi işlev_adı(parametre_listesi)

DÖNÜŞ TABLOSU(sütun_listesi)

$$ OLARAK

DÖNÜŞ SORGUSUNU BAŞLAT(sorgu);

SON;

$$ DİL plpgsql

Bu tür işlevler oluşturmanın iyi yanı, tablonuzdan tek bir değer döndürmek yerine çeşitli 'sütun_listesi' belirlemenize olanak sağlamasıdır. Hangi adımları izlememiz gerektiğini anlamamıza yardımcı olacak iki örnek verelim.



Örnek 1: Tek Girişle Çalışmak

Bir tablo döndüren bir işlev oluştururken, dönüş sorgusuyla birlikte kullanılacak bağımsız değişkeni sağlamanız gerekir. Argüman bir model veya belirli bir girdi olabilir. Bu örnekte argüman olarak tek bir girdi kullandığımız bir durum verilmektedir.



Sorgumuz için kullanacağımız “öğrenci” tablosu aşağıdadır:





Aşağıdaki görselde argüman olarak INT alan “get_student” adında bir fonksiyon oluşturuyoruz. RETURNS TABLE bölümünde dört sütunlu bir tablo döndürüyoruz: “öğrenci_id”, “öğrenci_adı”, “öğrenci_faculty” ve “current_status”.



Tüm bu sütunlar değerlerini tanımladığımız dönüş sorgusundan alır. Dönüş sorgusunun, işlevi oluştururken belirttiğimiz parametre listesini kullanarak bir WHERE ifadesi kullandığına dikkat edin.

Fonksiyonu oluşturduğunuzda, PostgreSQL fonksiyonunuzun başarılı bir şekilde oluşturulduğunu doğrulayan, daha önce sahip olduğumuz çıktıya benzer bir çıktı alacaksınız. Bunu daha da doğrulamak için mevcut işlevleri listelemek üzere aşağıdaki komutu çalıştırın:

\df *get_student();

Belirtilen ada sahip herhangi bir işlevle eşleşmesi için yıldız işaretlerini ekliyoruz. Çıktı, veritabanımızda PostgreSQL fonksiyonumuzun bulunduğunu gösteriyor.

Son adım, oluşturulan işlevi test etmektir. İşlevi çağırmak için “select” ifadesini çalıştırın. Daha sonra beklenen argümanı ekleyin. Bizim durumumuz için parametre INT türündedir. Bu nedenle, kendisiyle eşleşen kayıtları almak ve aşağıda gösterildiği gibi bir tablo döndürmek için argümanımıza 1 ekleriz:

Örnek 2: Giriş Deseniyle Çalışmak

Dönüş sorgusunda kullanılacak değerden emin değilseniz, belirli bir kalıpla eşleştirmek için ILIKE operatörünü kullanabilirsiniz. Örneğin, bir adınız varsa ve dizenin yalnızca bir bölümünü biliyorsanız, ILIKE operatörü, modelinizin nasıl olacağını tanımlamak için “%” sembolünü kullanmanıza olanak tanır.

Bu durum için aşağıdaki tabloyu kullanıyoruz ve ad sütununu hedefliyoruz:

Daha önce yaptığımıza benzer bir fonksiyon yaratıyoruz. Ancak parametre türü değişti ve dönüş sorgusu, işlev çağrılırken bağımsız değişken olarak eklenen ILIKE operatörünü kullanıyor.

Fonksiyon hazır olduğunda tabloyu döndürmek için onu çağırabiliriz. Bu konuda gitmenin farklı yolları var. Örneğin, arama modeli dizede 'Jo' içeriyorsa, komut sorgusunu aşağıdaki gibi yürütürüz:

get_details('%Jo%') arasından * seçin;

Tüm değerleri dizelerindeki “Jo” ile eşleştirerek bize iki kayıt veririz.

Bir dizenin yalnızca son kısmını biliyorsak, sorguyu çevirip aşağıdaki gibi çalıştırırız:

get_details('%Tyson'); arasından * seçin

Son olarak stringin ilk kısmını biliyorsak aşağıdaki örnekte olduğu gibi örüntüden sonra “&” sembolünü ekliyoruz:

get_details('Tim%') arasından * seçin;

Bunlar, bir tabloyu döndürmek için PostgreSQL fonksiyonunun nasıl kullanılacağına ilişkin farklı örneklerdir.

Çözüm

PostgreSQL, birçok özelliğe sahip güçlü bir veritabanıdır. İşlevler oluştururken, bunları, kapsüllemenin sağlanması da dahil olmak üzere farklı nedenlerle sonuç kümesi olarak bir tablo döndürecek şekilde ayarlayabilirsiniz. Bu yazıda PostgreSQL'de tablo döndüren bir işlevin oluşturulmasına ve kullanılmasına ilişkin iki örnek sunuldu.