(Deterministic & Nondeterministic) Fonksiyon Kavramı
20 Aralık 2016 Salı
Deterministik Fonksiyon:
Her çağrıldığında aynı sonucu dönen fonksiyonlardır. (Aynı değerler ile.)
Örnek olarak; square(), sum() gibi fonksiyonlar verilebilir. (Tüm aggregate fonksiyonlar deterministic'tir.)
Nondeterministik Fonksiyon:
Her çağrıldığında farklı sonuçlar üreten fonksiyonlar Non-deterministik'tir. Örnek olarak; Getdate(), Current_timestamp verilebilir.
Not: Rand() fonksiyonu her çağrıldığında farklı sonuçlar üretir bu özelliği ile non-deterministic'tir. Ancak içersine parametre olarak 1 değerini tanımladığımızda her çağrıldığında bize aynı sonucu döndürecektir.
Yazarın Notu: Şayet bir fonksiyonun geri dönüşü size her defasında aynı sonucu üretiyor ancak deterministic olması konusunda zaman değişkeni ile birlikte kararsız iseniz, aynı değeri aynı giriş parametreleri ile farklı bir bilgisayardan(en kaba hali ile) deneyin. Yine aynı sonucu veriyor ise o fonksiyon deterministic'tir. Buna örnek olarak SELECT YEAR(GETDATE()) verilebilir.
Bir sonraki makalemde görüşmek üzere.