Storeprocedure OUTPUT Kullanımı

Yazar: Cengiz Atilla
Kategori: SQL Server
Eklenme Tarihi: 7.1.2010 10:31:59



Merhaba Arkadaşlar ; Bugunku makalemizde storeprocedure ler ile OUTPUT kullanımını inceleyecegiz . Storeprocedure lar bize default olarak int deger donerler ama bazen uygulama içerisinden bizim storeprocedure uzerinden int harici bir tip dönmemiz gerekebilir bunun icin OUTPUT yapısını kullanırız ...

 

Örnegimizde Adventureworks database indeki person.contact tablosunu kullanıcagız . Procedure umuz bizden bir int id isteyecek ve ilgli ID e sahip personelin adını return edicek  ....

tsql kodlarımıza bakalım ...

create proc Sp_IDverPersonelAdiAl
(
@Id int ,
@PersonelAdi nvarchar(max) output
)
as
begin
 select @PersonelAdi = Firstname from Person.contact where contactid = @Id
end

Yukarıda storeprocedure umuzu olusturduk burda dikkat etmemiz gereken nokta geriye dondurmek istedigimiz @PersonelAdi parametremizi  OUTPUT olarak işaretledik  daha sonra begin ve end blogları içerisinde ilgli parametremize ilgili id e denk gelen ismi atadık ...

declare @Isim nvarchar(max)
exec Sp_IDverPersonelAdiAl 1,@Isim output
print @Isim

declare ile @Isim nvarchar(max) isim degiskenimizi tanımladık  daha sonra exec ile procedure muzu calıstırdık ilgili personelid mizi verdik 1 degerini atadık . output ile olusturdugumuz degiskenimizi işaretledik . sorgumuzu calıstırdıgımız zaman ilglii degisken uzerinde ilgili id e sahip olan personelimizin adı bulundu ve bunu print ile ekrana yazdırdık .

Storeprocedure lerin sql tarafında bu sekilde output veri cıkartmaları bizim ne işimize yarar diye bir dusunceye sahip olabiliriz haklısınız ama csharp tarafında biz bunları kullanıyor olucaz arkadaslar ilerleyen makalelerimde bunlardanda bahsedicem ...

.Net ve Sql ile kalın :)


Cengiz Atilla

Cengiz Atilla 02.11.1984 / İstanbul doğumludur . Nahit Menteşe Endüstri Meslek Lisesi Programcılık bölümünden mezun olmuştur .  2 yıllık Bursa Uludağ Unv Bilgisayar Programcılığı bölümünü bitirmiştir .

MCPD ve MCT ünvanlarına sahiptir.

atilla@cengizatilla.com
cengiz.atilla@hotmail.com
www.cengizatilla.com

Bu makaleye ilk yorum yapan siz olun.

Yorumunuz