Koray Kırdinli

Yazılım ve İş Yaşamı Hakkında Paylaşımlar

PL SQL Örnekleri 1

Bu yazı dizisi altında projelerimde kullanmış olduğum ve hoşuma giden PL-SQL prosedürlerimi paylaşacağım umarım işinize yarar

———————————————————————————————————

1 – ) İlk prosedürümüz kullanıcı girişinin doğru olup olmadığını kontrol ediyor.

CREATE OR REPLACE PROCEDURE TRNSTELSIM.TV_AUTHENTICATE_USER (

usernamex         NVARCHAR2,

passwordx         NVARCHAR2,

resultx     OUT   NVARCHAR2,

statusx      OUT   INTEGER,

departmentx   OUT   NVARCHAR2,

otherx        OUT   NVARCHAR2,

kullanicikodux  OUT  NVARCHAR2,

siteidx         OUT  NVARCHAR2,

ruhsatnox       OUT  NVARCHAR2,

sistemturux     OUT  NVARCHAR2,

sistemnox       OUT   NVARCHAR2,

grupx           OUT   NVARCHAR2

)

IS

BEGIN

BEGIN

resultx := 1;

SELECT STATUS,DEPARTMENT,OTHER,KULLANICI_KODU,SITE_ID,RUHSAT_NO,SISTEM_TURU,SISTEM_NO,GRUP

INTO statusx,departmentx,otherx,kullanicikodux,siteidx,ruhsatnox,sistemturux,sistemnox,grupx

FROM TV_KULLANICI

WHERE USERNAME = usernamex AND PASSWORD = passwordx;

EXCEPTION

WHEN NO_DATA_FOUND THEN

resultx := 0;

END;

END;

———————————————————————————————————

2- ) İkinci prosedürümüz field ve value ları verilern tabloya insert komutu oluşturuyor. Avantajı  tablomuzda herhangi bir field değişirse prosedürümüz yine de sabit kalıyor

 

CREATE OR REPLACE PROCEDURE INSERT (FIELDS NVARCHAR2, VLS NVARCHAR2

)IS

SQL_STR STRING(3000):=”;

BEGIN

SQL_STR:=  ‘INSERT INTO F_PATH_EDGE ‘ || FIELDS || VLS;

EXECUTE IMMEDIATE SQL_STR;

END INSERT;

 

———————————————————————————————————

3- ) Son bir yılın verisinde ay ve yıla göre gruplama yapan prosedür. Tarih fieldından sadece ay ve yıl bilgisini çekerek grupluyoruz

 

CREATE OR REPLACE PROCEDURE TRNSTELSIM.TV_SP_GR_AYBAZLI_TRXSAYISI(CRS OUT SYS_REFCURSOR,kaydeden NVARCHAR2 ) IS

pkaydeden varchar2(100);

BEGIN

pkaydeden := kaydeden;

OPEN CRS FOR

SELECT EXTRACT(YEAR FROM KAYIT_TARIHI) || ‘-‘ || TO_CHAR(KAYIT_TARIHI,’MM’) As KAYIT_YIL_AY,SUM(TOPLAM_TRX_SAYISI) AS TOPLAM_TRX_SAYISI

FROM TV_GR_YENI_SISTEM

WHERE KAYIT_TARIHI > ADD_MONTHS(SYSDATE, -11)

GROUP BY EXTRACT(YEAR FROM KAYIT_TARIHI) || ‘-‘ || TO_CHAR(KAYIT_TARIHI,’MM’)

ORDER BY EXTRACT(YEAR FROM KAYIT_TARIHI) || ‘-‘ || TO_CHAR(KAYIT_TARIHI,’MM’) ;

END TV_SP_GR_AYBAZLI_TRXSAYISI;

Reklamlar

Şubat 18, 2009 - Posted by | Oracle | , ,

Henüz yorum yapılmamış.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s