Skip to main content

Posts

Showing posts with the label psql

PostgreSQL11 Yenilikleri 4 - Stored Procedure

Merhaba, PostgreSQL 10 ve öncesine kadar Stored Procedure'e en yakın veritabanı objesi olarak fonksiyon bulunuyordu. İkisi arasındaki en büyük fark fonksiyon bir sonuç döndürürken, Stored Procedure'ün buna ihtiyaç duymaması. PostgreSQL 11 ile gelen özelliklerden biri de yeni eklenen veritabanı objesi olan Stored Procedure'ler oldu. Stored Procedure CREATE OR REPLACE PROCEDURE ...   ile oluşturulur.  Fonksiyonlar SELECT ile çağırılırken, Stored Procedure 'ler PostgreSQL 11 ile gelen yeni bir ifade olan CALL komutu ile çalıştırılır. Stored Procedure , fonksiyondaki gibi input parametrelerinde IN, OUT ve INOUT kullanılabilir aynı fonksiyonlardaki gibi.  Bir Stored Procedure 'ü aşağıdaki gibi oluşturabilirsiniz. [pg11] # CREATE OR REPLACE PROCEDURE public.test_procedure(a integer, INOUT b integer)  LANGUAGE plpgsql AS $procedure$  BEGIN         SELECT a*b INTO b; END; $procedure$; CREATE PROCEDURE Stored procedure'ü CALL komutuyle çalıştırabilrsi