Yazarlar Sözlük Makaleler Yardım Masası Gözlük Forum İstatistik

Tüm Başlıklar XML

1.  PL/pgSQL'de fonksiyondan birden fazla sonuç (satır) döndürmek için kullanılan komut. Mesela döngü içerisinde çalışan her bir return next bir satır döndürür. Return next,
return komutunun aksine, fonksiyondan çıkılmasına neden olmaz.

Örneğin parametre olarak verdiğimiz başlangıç ve bitiş değerleri arasındaki sayıları döndüren bir fonksiyon yazalım:

CREATE OR REPLACE FUNCTION retnext(bas int4, bitis int4)
  RETURNS SETOF int4 AS
$$

declare
    i int4 := bas;
begin
    -- bakalım, başlangıç bitişten küçük mü
    if bitis <= bas then
        raise exception 'dalga mi geciyon kardesim ya!';
    end if;

    -- döngüyü başlatalım
    loop
        if i>bitis then
            exit;
        end if;

        return next i;
        i := i + 1;
    end loop;

    return;
end;

$$
  LANGUAGE 'plpgsql';

Bu fonksiyonu kullanmak için select retnext(1,3) çalıştırırsanız hata alırsınız. Neden? Çünkü dönen şey tek bir değer değil ki, satırlar dönüyor. Bu yüzden şöyle çalıştırmak lazım:

> select * from retnext(1,3);
retnext(int4)
-------------
1
2
3

ayrıca lazımsa bkz: PL/pgSQL functions
fizikci
15 Eylül 2005 17:53
Bu konuda bildiklerinizi bizlerle paylaşabilirsiniz
Tabi bunun için yazarsanız giriş yapmalı, yazar değilseniz yazar olmalısınız.


Bu başlığa bkz veren girişlerin başlıkları nedir?

Bu başlığa bkz veren girişler başka hangi başlıklara bkz verdiler?
© 2005, Bilişim Kulübü. (1078 ms)
Ne yapabilirsin: SubtitleClick ile İngilizceni Geliştir, Çınar Framework ile kod yaz, Eglencelik.org'ta biraz eğlen