Arşiv

Posts Tagged ‘opsiyonel input’

Splere Opsiyonel Input

Kasım 21, 2013 Yorum bırakın

Uğur Sak isimli arkadaşım tarafından yazılmış açıklamayı tarihe not düşüyorum. Dikkat faydalıdır.

İhtiyaçtan dolayı finansal splerimize opsiyonel input eklememiz gerekti. Benim gibi daha önce bilmeyenler varsa bilgi vermeye çalışalım. Parametrik olarak yarattığınız input gelmediği zaman otomatik null değeri ile doldurulur.

Örnek bir sp ile açıklamaya çalışalım. pi_test3 ve pi_test4 ün opsiyonel olduğu bir sp yaratalım.

CREATE OR REPLACE PROCEDURE Deneme (pi_test1 IN       VARCHAR2,
pi_test2  IN       VARCHAR2,
pi_test3  IN       VARCHAR2 DEFAULT NULL, —-parametrik input
pi_test4  IN       VARCHAR2 DEFAULT NULL) —-parametrik input

Referans Vermeden Çağırma;

Var olan splerimiz de böyle bir input eklerseniz sona eklemeniz gerekmektedir. Sebebi spleri kullandığımız yerde referanssız olarak çağırıyoruz. Ya bu kullanımları düzeltmemiz gerekiyor yada tek input eklemenizi tavsiye ediyoruz.
Çünkü referanssız olarak çağırdığımızda spler input sırasına göre atama yapıyor.

Deneme ( ‘1’,’2’);            olarak çağırabiliriz.
Deneme ( ‘1’,’2’,’3’);       olarak çağırabiliriz.
Deneme ( ‘1’,’2’,’3’,’4’);  olarak çağırabiliriz.
Deneme ( ‘1’,’2’,’4’);       olarak çağıramayız. Çağırırsak  pi_test3 e = 4 değeri atanmış olur.

Referans Vererek Çağırma;

Deneme (pi_test1 => ‘1’,
pi_test2 => ‘2’,
pi_test3 => ‘3’,
pi_test4 => ‘4’)

Deneme (pi_test1 => ‘1’,
pi_test2 => ‘2’

Deneme (pi_test1 => ‘1’,
pi_test2 => ‘2’,
pi_test3 => ‘3’)

Deneme (pi_test1 => ‘1’,
pi_test2 => ‘2’,
pi_test4 => ‘4’)