Ö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 :)