Sql Server da Değişkenler ve Döngüler

0
4072

Sql Server da Değişkenler ve Döngüler,

Değişken tanımlarkan ‘Declare’ etiketini ve değişkenimizin önüne ‘@’ etiketini kullanırız.

örneğin :

Declare @isim varchar(50);

Declare @sayac  int(50);

Declare @degisken float(50);

 

Döngü ise anlam olarak bir işi yapabilmek için o koşul sağlanana kadar çalışmasıdır.

Döngünler de belli başlı kullanılanları aşağıdadır;

– if else

-while

-go to

-case

 

Örnek:

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

İf else Döngüsü

İf else döngüsünde bir şarta göre işlem yapılır. o şart sağlanana kadar if else yazılabilir.

Use MesutDB

Declare @sayac int(50);

set @sayac=35;

if (@sayac>25)

begin

–Çalışacak Kodlarınız

print ‘Değer koşula uyuyor’

end

else

begin

–Çalışacak Kodlarınız

print ‘Değer koşula uymuyor’

end

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

while Döngüsü

while döngüsü ise çok kullanışlı tercih edilen bir işlemdir.Koşul sağlanana kadar kodlar sürekli çalışır koşul sağlandıktan sonra durur.

mesela

Use MesutDB

create table #tmp(

id int identity(1,1),
birim varchar(50),

durum varchar(50)

)

insert into #tmp

select

birim,”

from birimgetir

Declare @sayac int=(select max(id) from #tmp);

while (@sayac>0)

begin

–Çalışacak kodunuz

update #tmp

set

durum=true

where

id=@sayac

and birim<50

set @sayac=@sayac-1  —>Sayacı 1 azaltmazsak döngü sonsuz döngüye girer ve sürekli döner

end

 

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

Goto etiket komutu

bu komut basitçe anlatmak gerekirse c c#ta metot gibi bir komuttur.

koşul sağlanana kadar metot etiket çalışır.

Yaşı belli bir ortalamanın altındaki kişileri silelim.

Use MesutDB

Declare @degisken int(10);

Declare @ort int(10)=( select avg(yas) from kisiler );

Declare @ort2 int;

kisi:

Delete from kisiler where yas<@ort

set @ort2=(select avg(yas)  from kisiler yas<@ort)

if (@ort2>0)

go to kisi

else

print ‘ortalama yaşın altında kişi kalmadı’

 

 

 

 

 

 

CEVAP VER

Time limit is exhausted. Please reload CAPTCHA.