29 Şubat 2016 Pazartesi

tsql != ile operatörleri arasındaki fark nedir

tsql != ile <> operatörleri arasındaki fark nedir


Merhaba,


Select * from urunler

where urunlerad != ‘Elma’


ve

Select * from urunler

where urunlerad<> ‘Elma’


Kodları arasında ne fark vardır?


Enterasan bir konu.Bu sorunun cevabı tabiki belli ancak facebook’da sorulan bir soru olduğu için,

ayrıca başka kaynakda bulamadığım için bu konuya değinmekte faydalı olacağından yazıyorum.


İki operatörde ( != ve <> ) Aynı mantıkda çalışır.Teknik olarak ve performans kullanımı açısındanda bir fark bulunmamaktadır.Performans ölçümleri query analyzer’dan kodunuzu çalıştırarak test edebilirsiniz.


Sql-92 Standartları yani t-sql oluşturucaları eşittir (=) veya eşit değildir (<>) kullanımını uygun görmektedir.Neden bunu uygun gördüğüne gelince, en basit karşılaştırma tipi = dir.En doğal ve en çok kullanılanda bu operatör çünkü temel sorgulama işlemlerindede bu operatör kullanılmaktadır.


( != ve <> ) operatörler Microsoft Sql Server Hariç diğer platformlardada kullanabilirsiniz.

Başlıca kullanılan tüm platformlar


MySQL

SQL Server

PostgreSQL

Oracle

SQLite

Sybase


Peki siz olsanız hangi operatörü kullanırdınız.Yorumlar sitemizin gelişmesinde faydalı olacaktır



tsql != ile operatörleri arasındaki fark nedir

stored prosedür ile user açmak

— stored prosedür ile user açmak

exec sp_addlogin

@loginame = ‘karyelist’

, @passwd = ‘102101’

, @defdb = ‘northwind’

, @deflanguage =’turkish’

— user login değiştirmek için tek tırnaklar arasındaki bölümde login bilgileri yer alır

exec sp_grantlogin ‘BUILTIN\administrators’

Builtin ile sql server’a login olmak için ; yukardaki komutu kullanabilriz


sql server a yeni login acountu eklerseniz şifrenizi,default olarak çalışan database ve hangi dili kullanacağınızı

özel olarak belirtmiş olursunuz.Eğer windows login eklerseniz bu özellikleri kullanazsınız.


windows auotantication ile ;

windows’a login olduktan sonra aynı login hakkınızı kullanarak sql server ‘a bağlanabilirsiniz

Sql server bunun için sizden şifre istemez.

sp_defaultlanguage ve sp_defaultdb sistem prosedürler sql server ve windows loginlerde geçerlidir.Bu her iki login sisteminide kapsamaktadır.


STORED PROSEDÜRLERDE KULLANICI GİRİŞİnin yasaklanması

EXEC SP_DENYLOGIN ‘DOMAIN\USER’ OLARAK YAPILANDIRILABİLİR.

user yerine girmesini istemediğiniz kişinin kullanıcı adını yazarsanız databaseden engellenir

engellediğiniz user hariç herkes login olabilir.Eğer bir windows kullanıcı gurubu ise

ve bu kullanıcı gurubunda kimse yoksa sql server ile bağlantı kurabilir.

STORED PROSEDÜRLERDE KULLANICI GİRİŞİnin iptal edilmesi

exec sp_revokelogin ‘domain\user’

komutu ile kullanıcı girişi sql server’da süresiz iptal edilir.bu sql windows group için garanti değildir

ve uygun değildir.Bunun sebebi hatalar doğurabileceği gibi geri dönüşü olmayan hatalarada sebep olabilir.

exec sp_droplogin ‘sqluser’

user erişimleri tamamen silinir.


Eğer şifre değişikliği yapmak istereniz sp_password sp sini kullanabilrsiniz.


use northwind


select * from customers


 


şeklindede kullanılabilir.



stored prosedür ile user açmak

28 Şubat 2016 Pazar

Sql server bat dosyası ile veritabanı ve tablo oluşturma

Sql server bat dosyası ile veritabanı ve tablo oluşturma


Bazı durumlarda serverlarda birden fazla kurulum yapmak zorunda kalabilirsiniz.Yapılan kurumları otomatikleştirmek bat dosyası kullanarak yapılabilinmektedir.


Örnek Seneryo :


10 adet sql server’a aynı veritabanını kurmak zorundasınız ve attach yada create fonksiyonu kullanmadan bunu yapmak zorundasınız nasıl yaparsınız.(Soru sql server sertifikasyonlarından alınmıştır)


Msdos tabanında script dosyaları oluşturulabiliniyor.Bat dosyalarıda ms-dos un bir parçasıdır.

Bat dosyaları ne işe yarar ?

Sqldeki prosedür kullanımı gibidir.Bat dosyasında çalışacak kodları bir kere yazarak üzerine çift tıkladığımızda kodların çalışmasını sağlar.

Bat dosyası içerisine daha önce hazırladığımız veritabanı oluşturma ek dosyasımı .sql formatında olucak şekilde t-sql dilinde hazırlamamız gerekiyor.


db.sql içeriğimiz:


use master


go


If exists (select * from sysdatabases where name=’seneryodb’)

begin

drop database seneryodb

end

go


create database seneryodb;


dosyayı kayderek kapatıyoruz.Bu arada seneryodb olan veritabanı adımızı istediğiniz gibi değiştirebilirsiniz.


TabloScript.Sql içeriğimiz:


Use seneryodb;

go


if exists(select name from sysobjects where name=’SeneryoTablo’)

drop table SeneryoTablo

go


Create table urunler

(

SeneryoId int identity(1,1),

SeneryoAd varchar(40),

SeneryoSoyad varchar(50),

SeneryoGorev text,

GorevTarihi datetime,

Yas int

)

GO


Seneryodb.sql dosyasımızda kaydererek kapatıyoruz.


Bat dosyası içeriğimiz:


echo off

cls

osql -E -S%1 -n -iseneryodb.sql>>dblogu.log //Kodu çalıştırdıktan sonra log dosyasına durumu yaz

osql -E -S%1 -n -iseneryoTablo.sql>>tablologu.log //Kodu çalıştırdıktan sonra log dosyasına durumu yaz

cls


Bat dosyasını kayderek kapatınız.


Bat dosyasını ve diğer .sql dosyalarımı hepsini bir klasöre kopyalarak scriptimizi çalıştırmaya hazırız.


Scripti çalıştırdıktan sonra sql server management studio üzerinden oluşturulan yeni veritabanını görebiliriz.



Sql server bat dosyası ile veritabanı ve tablo oluşturma

Sql Concat

Merhaba,


Uzun bir aradan sonra tekrar sql server için makale yazmaya başladım.O kadar çok şey girdiki araya açıkcası makale yazmayı çok özledim :)


Gelelim sql server 2012 x64 sürüm olarak indirmek için Şuraya bakın.


Artık sql server 2012 yi kurduğumuza göre yeni gelen fonskiyonları incelemeye başlayabiliriz.


Concat fonksiyonu : 2 veya daha fazla kelimeyi birleştirerek size tek bir kelime olarak geri çevirir.


concat fonksiyonunu kullanırken vereceğiz veri türleri string yani varchar türlerinden olmaldır.


Örnek Kullanımı

FORMAT ( değer, değer , değer )


[code lang=”sql”]SELECT CONCAT ( ‘Sqlogren.com’, ‘ Sql Öğrenmenin ‘, ‘Tam ‘, ‘Zamanı’ ) AS Sonuc;[/code]


Dönecek değer şu şekilde olacaktır.


[code lang=”sql”]

Result


————————-


Sqlogren.com Sql Öğrenmenin Tam Zamanı


(1 row(s) affected)

[/code]


Concat fonksiyonu siz ona string değer verdikçe geri döndürecektir.Değerlerden önce yada sonra boşluk koyarak concat fonksiyonunu sizde kullanabilirsiniz.


Peki string değer dışında herhangi bir integer yada türkçe deyimi ile sayısal değer kullanamayacakmıyız ?


Tabiki kullanacağız Microsoft bunu şu şekilde anlatmış ;


27 Şubat 2016 Cumartesi

Notebook Servisi

Notebook Teknik Servisi


notebook servis


Herkesin ihtiyaçlarını son derece başarılı bir şekilde karşılayan notebooklar birçok ilde ve ilçede servislerini barındırmalarından dolayı kullanılışlılıklarını arttırıyorlar. Örneğin Ankara notebook servis, İzmir notebook servis, avcılar notebook servis, levent notebook servis ve bunun gibi bir çok örnek sunabiliriz. Söylediğim bu notebook servis ilçelerini daha da arttırabiliriz. Ancak notebook servisleri yapan kişiden kişiye değişmektedir. Yeni işi daha yeni yeni yapmaya başlayan birisiyle artık notebook servisi konusunda uzmanlaşmış birisi arasına dağlar kadar fark vardır. Bunun dışında notebook tamiri gerçekten özen ve önem gerektiren bir faaliyettir. Çünkü dizüstü bilgisayarları normal masaüstü bilgisayarlara göre çok daha küçük ve narin parçalara sahip olduğundan dolayı bunu ya gerçekten bilen birisinin yapması ya da gerçekten güvendiğiniz birisinin yapmasını öneriyorum. Aksi takdir de laptop tamiri iyi bir süreç içermez ve bu sürecin sonunda dizüstü bilgisayarınız ya tam olarak tamir görmez ya da sonucundan hoşlanmayacağınız bir duruma bürünebilir. Ayrıca bazı il ve ilçelerde ki notebook tamircileri içerisinde özel bilgilerinizin barındığı laptopunuzun içerisini karıştırarak bunları sizin aleyhine kullanabilmektedir. Bu konuda sizleri çok daha fazla dikkat etmenize teşvik etmek istiyorum. Aksi takdir de dizüstü bilgisayarınızın içerisinde bulunan bilgiler ile sizlere santaj yapılabilmektedir. Bu yüzden notebook’unuzu servise verirken içerisinde bilgileri ve belgelerinizi harici harddiske yedekleyip notebook’unuzundan silmenizi öneriyoruz ve böylece kendinizi emniyet altına almış olursunuz.


Tavsiyemiz : Notebook servis makaleleri ile bilgisayarınızdaki problemi sizde çözebilirsiniz


Hayatımızı kolaylaştıran bilgisayarlar artık birçok evde bulunmaktadır. Hatta neredeyse her evde de bulunuyor denilebilir. Bunun dışında bilgisayarların daha gelişmiş versiyonları olan laptoplar yani notebooklar diğer bir adıyla ise dizüstü bilgisayarlar birçok işimizi ve görüşmemize büyük ölçüde kolaylık sağlayıp bize yardımcı oluyorlar. Notebooklar artık o kadar yaygınlaştı ki her ilçede en az 2 veya 3 adet notebook servisleri bulunmaktadır. İlk çıktığı zaman yani henüz yaygınlaşmamışken laptoplar bu kadar sık dizüstü servisleri yada notebook tamiri yapan yerleri bulmak oldukça zordu. Ayrıca notebooklar hayatımıza girdikten sonra teknolojinin ilerlemesiyle birçok yeni model, yeni çeşit ve yeni markalar oluşmaya başladı. Ancak bu birçok marka ve modelin içerisinde en seçkin ve en üst seviyede olan markalardan bazıları şunlardır; asus, acer, dell, hp, sony, sonyvaio, samsung vb. birkaç marka ismini de bu listeye sokmak mümkündür. Bunun dışında laptoplarda ki gelişimlerin masaüstü bilgisayarlara da oldukça faydası olmuştur. Çünkü notebooklar ne kadar gelişirse, ne kadar güçlenirse masaüstü bilgisayarların parçaları onlardan esinlenilerek daha ince ve daha güçlü yapılmaya başlandı. Bazı dizüstü üretici firmaların gereksiz gösteriş merakları nedeniyle notebooklara gereğinden fazla özellik yüklenerek amacından çıkmasına ve bunun sonucunda ilgi çekmeyecek duruma gelmesi ve sonrasında da bundan dolayı stoklardan fazla tüketilmemesine yani fazla satılmamasına neden oluyor. Hatta bazı kullanıcılar o marka ürünlerini bir daha kullanmak bile istemiyorlar.


Notebook teknik servisi hizmetlerini alacağınız hizmet yerine göre kargo ile bilgisayarınızı gönderip onarıldıktan sonra tekrar kargo ile geri göndermeleri önemli bir özellik.Ben çalışacağım firmaları incelerken bu işi birinci elden yapıcak olan firmalarla çalışmakta fayda var çünkü birinci elden tamir edilen bilgisayarı düşündüğümüzde o ötekisine vericekde ötekisi alıcakda bakıcakda bana haber vericek oooyy oyyy ölme eşşeğim ölme.


Son olarak notebook bilgisayar tamiri yaptırdığınız donanımızın chipset değişimi ise laptopunuzu onardıktan sonra mümkün ise en erken zamanda www.sahibinden.com gibi bir site acil olarak elden çıkarın.



Notebook Servisi

Laptop servis

Laptop servisi


Geçenlerde laptopumu oturduğum cafe de yanlışlıkla masayı çekmek isterken yere düşürdüm. Laptopa hiçbir şey olmadı bir zaman sonra laptopun ekranı bir anda siyah oldu neden olduğunu sormak için laptopumu bilgisayarcıya götürdüğümde bilgisayara açıp bakmaları gerektiğini ve inceleme sonucu bana bir fiyat çıkartacaklarını belirttiler. 2 3 gün geçtikten sonra telefonum çaldı bilgisayarcım aradı ve 300 TL ye bilgisayarımdaki bütün problemi çözebileceklerini ve eskideki performansından daha iyi bir performans göstereceğini belirttiler. Tamam olur yapın o zaman dedim telefonda nereden bilebilirim ki bilgisayarım sürekli arıza çıkartacak. Laptopum yapıldı eve geldiğimde laptopumu açtım normal olarak çalışmaya başladı biraz zaman geçtikten sonra bilgisayarım kendi kendine sürekli olarak açılıp kapanmaya başladı bilgisayarımı götürdüğümde tamir ettirdiğim yere bıraktım tekrar herhangi bir problem yok işletimcisi değiştiği için o sorunlar oluşabileceğini belirtti. Ama sürekli bilgisayarım açılıp kapanıyordu arkadaşımın abisi bilgisayar uzmanıydı ona götürdük gösterdik bilgisayarın hiçbir parçası değişmediğini sadece ana kartının değiştiğini diğer parçaların hala aynı şekilde onarılmadığını belirtti. Verdiğim 300 TL boşa gitti ona mı yanayım yoksa bilgisayarımın orjinal ana kartını değiştirmişler ve dandik bir kart takmışlar ona mı yanayım. Her zaman profesyonellere yaptırmakta fayda var. Daha sağlıklı bir çözüm almış olursunuz böylelikle benim düştüğüm hataya sizlere düşmeyin. Kesinlikle konuyla ilgili profesyonel yardım almakta fayda var işin uzmanlarına yaptırmak daha mantıklı..

Laptop Servis


olarak size en iyi hizmeti verebilecek nadir firmalardan.Gelelim diğer problemlere


Yakın zamanda notebookumun şarj aletinde bir problemle karşılaştım.


Bizim sokağın başındaki bilgisayarcıya götürdüm ve sorunun çözülebileceğini yalnız ufak bir problem çıkarsa sorumluluk alamayacaklarını belirttiler. Tamam dedim ve şarjı bıraktım 2 gün sonra gidip aldığımda çok büyük bir problem olmadığını kolaylıkla hallettiğini ve uzun ömürlü bir şekilde kullanılacağını ve problem çıkartmayacağını belirttiler. Eve gelip laptopumu şarja taktım ilk 1 hafta herhangi bir problem olmadı düzenli bir şekilde çalıştı 1 hafta geçtikten sonra bataryadan akıntılar olmaya ve laptopumu hiç şarj etmediğini fark ettim. Bilgisayar tamircisine gittiğimde sorunla ilgili bizim problemimiz değil biz size sorumluluk kabul edemeyeceğiz diye belirttik şeklinde bir tutumla karşılaştım. Bilgisayarımı garantiye gönderdiğimde diğer yerlerde yaptırıldığı için problem yaratma söz konusu olduğunu ve batarya tamiri yapılamadığını belirttiler. Garantim devam ettiği için servise verdim 15 ile 30 iş günü içerisinde laptopumun yapılacağını belirttiler. 15 gün kadar zaman geçtikten sonra laptopumu servisten almaya gittiğimde en küçük bir problemde dahi normal bir bilgisayarcı yerinde profesyonellere yaptırmam gerektiğini ve garanti süreci içerisinde tekrar getirebileceğimi belirttiler. Profesyonel olmayan yerlere bilgisayarınızı yaptırmayın. Kesinlikle güvenebileceğinize inandığınız ve bu işte gerçekten profesyonel olan kişilere yaptırdığınızda kötü sonuçlar almak yerine çok çok iyi sonuçlar alabilirsiniz. Kendinizi ve bilgisayarınızı tehlikeye atmak yerine biraz daha fazla para ödeyip daha iyi yapan uzmanlara götürmenizde fayda var.


Konuyla ne kadar alakalı olmasada birilerinin bilgisayarımdaki bilgileri görmesini istemiyorum.Sonuçta pc demek personnal computer demek yani kişisel bilgisayar.


Bilgisayarıma başkaları girebiliyormu ?

Bilgisayarıma IP numaramla ulaşıyorlar. Bunu nasıl engelleyebilirim. Bu konuyla ilgili birisi yardımcı olabilir mi ? benim paylaştığım her dosyayı her şeyi görebiliyorlar ve kolayca erişebiliyorlar. Başka bilgisayarlardan erişim zorluğu yaşanmıyor mu ? bilgisayarımı başkalarına versem diğer bilgilerimi kendilerine kopyalayıp ilerde başıma daha büyük sorunlar açarlar mı ? ilerleyen günlerde başıma daha büyük bir bela açar mıyım ? bilgisayarımı diğer yazılımlardan nasıl korurum ? nasıl bilgisayarıma erişimleri engelleyebilirim ? Anti virüs programları bir işe yarar mı ? bilgisayarımı başka yazılımlara karşılık nasıl koruyabilir ve bu konuyla ilgili önlemleri nasıl alabilirim ? zararlı yazılımlar bilgisayarıma daha fazla ne kadar zarar verebilir ? ne kadar bir koruma yöntemi elde edebilirim ? bilgisayarımı korumalara karşı ne gibi bir şekilde güçlendirebilirim ?

Format attırsam bilgisayarıma bir yararı olur mu ? içindeki başka özel klasörlerime her hangi bir zarar olur mu ? diğer işletim sistemlerine göre bilgisayarım nasıl daha uzun ömürlü kullanılır ? bu konuyla ilgili bana görüş ve bir haber bildirirseniz çok sevinirim. Çünkü başkaları bilgisayarıma ulaşınca çok önemli olan belgelerimde başkaları tarafından ele geçirilebiliyor bu konuyla ilgili profesyonel kişiler bana ne tür bir yardımda bulunabilir. Diğer makalelerde bu konuyla ilgili cevaplar yazıyor elimden gelirse ben format atabilir miyim ???



Laptop servis

26 Şubat 2016 Cuma

Bilgisayarım bozuldu ne alsam ?

Bilgisayarım bozuldu


Samsung vs toshiba

Masaüstü bilgisayar problemim


Masa üstü bilgisayarlardan kullanıyordum. Yakın zamanda format attırdım formattan sonra bilgisayarım biraz daha iyi duruma geldi. Yaklaşık 3 ay kadar bir zaman geçtikten sonra paso kapandı açıldı paso kapandı açıldı en sonunda babam bilgisayarcıya götürdü bilgisayarımı. 15 gün içerisinde yaptılar eve getirdik tekrar bozulmaya başladı sürekli bir şekilde kapanıp açılıyordu babamlar inanmıyordu daha yeni yaptırdık nasıl olur nasıl ikide bir kapanır o kadar para verdik yaptırdık gibi sitemlerde bulunmaya başladılar . bir gün aile fotoğraflarımıza bakarken bilgisayar kendi kendini kapatıp açmaya başladı babamlarda ben yapıyorum sandı yaptırdığımız yere babam kasayı alıp götürdü bu sefer kızın yanlış sitelere giriyor o yüzden bilgisayara virüs giriyor o yüzden kapanıyor dedi. Hadi şimdi babama mı dert anlatıyım adam üzerime suç atıyor ona mı yanayım. Babam tekrar yaptırdı getirdi bilgisayarı yine aynı şekilde kapanıp açılmaya başladı sürekli bir şekilde en sonunda babamlarda artık dayanamadı bilgisayarcıya götürdü ya bu bilgisayarı adam akıllı yaparsın yada senden şikayetçi olurum gibisinden bir cümle kullandı adam ilk inanmadı babam şikayetçi olunca anladı. Kasayı o bilgisayarcıdan alıp daha iyi bir şekilde yapan bir yere götürdü ve bilgisayarım şuan gayet iyi durumda çalışıyor. Bu tür konularda maliyeti kafanıza takmayın daha iyi bir yerde yaptırın 20 TL fazla verin. Sürekli bozulmasındansa daha iyi.


Yakın zamanda aldığım bir samsung marka laptopu aldıktan 2 ay sonra bir problemle karşılaştım. Ve aldığım yere götürdüğümde servise verileceğini ve kullanıcı hatası olup olmadığını anlamak için laptopumu servise gönderdiler. 5 gün sonra geri dönüş yapıldı ve laptopum normalde üretim hatası olarak elektrik kaçırma probleminden dolayı bana yeni bir laptop verileceğini yakın zamanda ellerine ulaşacağını eğer fiyat farkı ödersem başka bir laptop ile değişimi yapılabileceği söylendi. Telefonda biraz beklemeyi ve aldığım laptopun aynısından istediğimi belirttim. Yaklaşık 2 ay kadar bir zaman geçtikten sonra laptopu aldığım yere gittim bilgi alabilmek için gittiğimde biraz daha zaman geçmesini ürünün hala ellerine geçmediğini geçtiği zaman direk yolluyacaklarını ve yakın zamanda gelme ihtimali olduğu söylendi. Biraz daha zaman geçtikten sonra tekrar gittiğimde laptopun aynı modelinden artık üretilmediğini ve başka bir laptop ile değişimi yapılabilineceğini belirttiler. Bende aynı ürünü istediğimi ve fiyat farkı istemediğimi söylediğimde çok ters bir tepki ile karşılaştım. Sanki hata bendeymiş gibi bir yaklaşımda bulunuldu.ve ürünümü başka bir ürünle değiştirmek zorunda kaldım. Olan bana oldu hem maddi açıdan biraz daha fazla zorlanmış oldum ve diğer beğendiğim bilgisayar yerine pek iyi bulmadığım beğenmediğim bir bilgisayarla değiştirmek zorunda kaldım keşke başka bir firmadan başka beğendiğim bilgisayarı alsaydım böylelikle hem bu kadar sorunla uğraşmamış olurdum .


Samsun notebookların hepsi kötü demiyorum kimsenin hakkını yemeğe gerek yok.Adil olarak bakıldığında çokda karşılaşılacak bir problem değil ama ben yinede sizlere notebook tavsiyelerimde

Samsung notebook


bölümünden bütçenize uygun olarak alabileceğiniz en donanımlı bilgisayarı almanızı tavsiye ederim.

Garanti bölümünden bakıldığında 2 yıl garanti veriyolar.Eğer Teknosa gibi alışveriş firmasından yapıyorsanız bilgisayarınızı cuzi bir ücret karşılığında sigortalattırıp , çalınma,kırılma ve bunun gibi birkaç önemli probleme çözüm sağlayabilirsiniz.


Bilgisayarınız çalınırsa ücretini almak zevkli bir durum.Peki bu sigorta fiyatları nekadar ? 80 ile 450 TL arasında değişen notebook sigorta fiyatları almış olduğunuz bilgisayarın fiyatı ve donanımına göre değişir.


toshiba qosmio


mükkemmel yakın tasarım ve şıklık ile tüm oyun ve multi media desteği ile işinizi görebileceğine emin olabilirsiniz.


Toshiba Qosmio kullanımında püf noktaları


Bilgisayar alt yapısı ve donanımı kuvvetli olduğu hiç her türlü oyunu ve yada ağır programları kullanabilirsiniz.Örneğin Call of Duty Modern warfare 2 indir ile test edip performansını olağan üstü buldum.

Sql server 2012 programını kurarak ne kadar hızlı çalıştığınıda test ettim. Ancak bilgisayarda karşınıza çıkabilecek ve uzun zaman sonra anlayabileceğiniz ufak püf noktası 1 yıl içerisinde yoğun dvdrom kullanımından kaynaklı okuma ve yazma problemleri ile karşılaşabilirsiniz.


notebook alt tarafında bulunan fanın iyi çalışması için altında soğutucu kullanmanız tavsiye edilir.Toshiba notebook tamirlerinde en çok chipset değişimi problemi ile karşılaşabilirsiniz.

Çözüm olarak battaniye yorgan yada altını sıcak tutacak hiç bir ortamda bulundurmadan gönül rahatlığı ile kullanabilirsiniz.



Bilgisayarım bozuldu ne alsam ?

notebook servisi

Notebook servisi konusunda uygun fiyata tamir ettirmem gerekiyor.Ben buralı değilmiyim 30 senedir istanbuldayım.Benimde artık buranın yerlisi gibi muamele görmem gerekiyor.Nedir ? En uygun fiyata laptop servisi nasıl sağlarım.Bilgisayarınızın adaptörümü bozuldu üzülmeyin.Kargo ile kapıda ödeme bile yaptılar.
Notebook Servisinde Telefon 0212 222 19 80


Notebook hata problem ve pil doldurma gibi bir çok işlemin yapıldığı gerekirse 36 saat bilgisayarınızı test edebileceğiniz, önericeği programlar ile bilgisayarınızın hakimetini devamlı kontrol edebilecek ve bilgisayarınızı tam olarak yönetebileceksiniz.


Bu keyif verici değilmi ?


Tüm gücünü kendi gücüm gibi kullanmak istiyorum.Bilgisayarı içinde hissetmek yada daha ilerisi olarak need for speed oynarken kaza yapmadan sürmek gibi bir şey bu :)


Notebook teknik servisi olarak tüm bu program download ve sürücü yükleme işlemlerini ve arıza tespitini ücretsiz yapıyorlar.Ücretsiz işleri çok severim ama bu kadarıda fazla.Bilgisayarım için yanlızca karşı ödemeli olarak kargo ücreti ödedim.Hizmetlerinden memnun kalabileceğiniz bir notebook tamir yeri.


Hafta içi ve hafta sonu 7/24 destekleri mevcut.Ancak 7/24 müşteriler anlaşmalı müşteriler olduğu bilgisinide buradan verebilirim.Telefon : 222 19 80 avrupa(212) den ulaşabilirsiniz.



notebook servisi

25 Şubat 2016 Perşembe

İşkur Kursları

iskur kurslari


İşkur Kursları


İşkur devletin bir kurumudur.İşkur ne iş yapar ?

İşkur devlet sektörleri arasında ve özel taleplere göre personel yollar.

Sizde işkurdan yararlanabilirsiniz.

İş kurdan faydalanmak için kayıt olmanız yeterlidir.


İş kura kayıt olmak için İŞKUR’un sizden istediği bazı şartlar bulunmaktadır.


Herhangi bir ssk,bağkur yada bir sigortanız yok ise başvurabilirsiniz.

15 Yaşından büyük olmanız gerekmektedir.

Emekli değilseniz başvurabilirsiniz.


İş kursları bir çok kursu bünyesinde barındırmaktadır.İşkur hangi kursları verir ? işkur nerede

size en yakın nerede ? İşkur kursları listesi,işkur nerede sorularının cevabı
İşkur Kurs Arama


İşkur kurslarını bitirerek sertifika alabilirsiniz.Almış olduğunuz mesleki sertifika ile iş başvurularında avataj ve fayda sağlayacaktır.İşkurun verdiği sertifika programını kullanarak,

bilgisayar teknisyeni,bilgisayarcı,kuaför,berber,el sanatları,incik boncuk ve marangoz mesleğine kadar daha bir çok mesleği bu programı bitirerek kendinizi sertifikalandırabilirsiniz.


İşkur kursa geldiğiniz her gün için yaklaşık olarak asgari ücret / 4 olarak 30 günlük ödeme yapıyorlar.

2013 de gittiğim 30 günlük işkur kursundan 140 TL para aldım.

Yani

717/4=179 benim aldığımda 140 ortalama olarak.


İşkurdan alacağınız parayı kursda geçireceğiniz kurs zamanınız kadardır.2 Aylık kurslarda mevcut 1 aylık kurslarda mevcuttur.



İşkur Kursları

Sql Sistem Fonksiyonları ve Like operatörü

sistem fonksiyonları


sistem fonksiyonları @@ işareti ile başlayarak global değişkenleri çağırır.

Gerçek sistem fonsiyonları parametre içermez.Onlar global değişkenler değildir

Çünkü tanımlanamaz ve herhangi bir değer atanamaz.Sql serverdan yönetilir.birkaç sistem fonksiyonu veri geri döndürdüğü

değerler aşağıdadır


@@CONNECTIONS SQL in kuruluşundan itibaren kaç kere bağlantı yapıldığını gösterir.

@@ERROR sql’e bağlandıktan sonra çalıştırılan sorgular içinde toplam kaç adet hata verdiğini gösterir

@@IDENTITY daha önce verilmiş olan identity değerleri verir

@@MAX_CONNECTIONS En fazla yapılıp kabul edilen bağlantı sayısı

@@OPTIONS AYARLANILAN BAĞLANTI İİÇİNDEKİ kullanım bilgileri sayısı

@@ROWCOUNT EN SON EKLENEN SATIR BİLGİSİ

@@SERVERNAME SQL SERVER IN ÇALIŞTIĞI İSİM BİLGİSİ INSTANCE BİLGİSİ

@@SPID GENEL OLARAK KAÇ ID OLUŞTURULDUĞU BİLGİSİ

@@VERSION SQL İN KULLANDIĞINIZ VERSİYONU


 


LIKE OPERATÖRÜ

string değerlerde spesifik arama yaparken en çok kullanılan operatördür

aradığınız değerin bir yada birden fazla karakterini vererek kullanılabilir.

like deyimi ile birlikte (%,^,_) en çok kullanılan operatörlerdir

Mantıksal operatörlerden hatırlayalım…

Bir örnek vermek gerekirse


–a ve e harfi ile başlayanlar kayıtlar

use northwind

go


select * from customers

where customerId like ‘[ae]%’

–a ve e harfi başlamayan bunların dışında kalan kayıtlar


select * from customers

where customerId like ‘[^ae]%’


 


–başında başka herhangi bi harf olan ve içinde a harfi geçen

select * from customers

where customerId like ‘%a’


A harfinden önce bi karakter olan sonrasında başka karakkterler olan


select * from customers

where customerId like ‘[_a%]’



Sql Sistem Fonksiyonları ve Like operatörü

24 Şubat 2016 Çarşamba

Sql Geçiçi tablolar #Temp ve Dinamik Yordomlar

Geçiçi Tablolar


Geçici Tablolar diğer geçici objeler gibi sql de çalışır.tempdb

otomatik olarak sql kapatılıp açılınca tempdb klasörü boşaltılır

burda geçici şekilde tablo yaratabiliriz.Bunlara SQL’ de Temporary Tables

yani geçici tablolar denir.2 Tür geçici tablo vardır.

1 – lokal

2- global


## ile başlayan local geçici tablodur.Sql ile bağlantı kurulunca oluşturulur.

Bağlantı ne zaman kapatılırsa otomatik olarak kendini tempdb den siler.

Birçok program bunu kullanır çünkü kurulumlar v.s temporary klasörünü kullanır

Eğer stored procodures yaparsanız tüm kullanıcalar bunu kullanabilir.


Global geçici tablolar ise bağlantı kapatıldığı anda kendini geri getirmemek üzere

siler.


Tablo değişkenleri


Kullanımdaki versiyonlarda geçici tablolar hızlı çalışır.Çünkü bellekten çalışırlar.

geçici tablolar gizlidirler.


declare @gecicitablo table (ID int,isim varchar(20), soyisim varchar(20))

insert @gecicitablo (Id,isim,soyisim)

values(‘1′,’murat’,’karakuş’)


select * from @gecicitablo


 


DİNAMİK KELİMELERİ KONTROL ETMEK


transact sql sorgularını kendi scriptiniz ile control edilebilir ve

programlanabilir kodları oluşturmanızı sağlar.,En çok kullanılan IF – ELSE – WHILE


If eğer şart, doğruysa işler eğer verilen değer if yordamıyla belirtilene eşit değilse

else deyimi, if şartı doğru değilse işleme girer ve else deyimiyle kullanılan sorgu işler

if deyimi check edip sonra if ve else komutu arasına begin ve end deyimi kullanımı yaygındır

if ile başlayıp şart doğru ise begin komutundan sonra yapılması gerekenleri sorguyla belirtip

end komutu ile yapılması gerekenleri bitirdikten sonra else şartına geçilebilir.


 


return değeri


return değeri kullandığımız stored procedure de bi sonuç çıkarmaya yarıyor

return geri değer döndürür.Dönen değerde verdiğimiz şartlar uyuyorsa 0 eğer

bir hata oluşmuşsa veya şartlarımız aynı değilse sıfırdan farklı bir değer alır.


 



Sql Geçiçi tablolar #Temp ve Dinamik Yordomlar

sql mükkerrer kayıt bulmak (T-SQL)

Merhaba, Bir çok kere karşılaştığımız problemlerden biride bir tablo içerisinde birden fazla tekrar eden satır bulununca tekrar eden kayıtların hangisini gösterebileceğimiz t-sql sorgusu aşağıdaki gibidir.


Tablo Bilgileri ;

Maillertek tablosunda Adres adında bir kolon bulunmaktadır ve bu kolonda email adresleri bulunmaktadır. Tablo adı : MaillerTek Kolon : Adres


SELECT Adres,

COUNT(Adres) AS TekrarlamaSayısı

FROM Maillertek

GROUP BY Adres

HAVING ( COUNT(Adres) > 1 )

order by TekrarlamaSayısı


Yapılan sorguyu türkçeye çevirerek televuz etmemiz gerekirse; adres kolonunu ve adres kolonunundaki göster, having kullanımındaki durum : şart, count(adres) ile her bir satırın sayısını al ve > 1 büyükse göster Kolay Gelsin.


<p>



sql mükkerrer kayıt bulmak (T-SQL)

23 Şubat 2016 Salı

sql Log Temizleme Truncate log temizleme log silme

Hepsi Bu kadar kolay gelsin.


USE [DbAdi]

GO

ALTER DATABASE DbAdiSET RECOVERY SIMPLE WITH NO_WAIT

DBCC SHRINKFILE(DbAdi_Log, 1)

ALTER DATABASE DbAdiSET RECOVERY FULL WITH NO_WAIT

GO



sql Log Temizleme Truncate log temizleme log silme

create sp nedir stored procedure nasıl kullanılır

–stored procedure:

–stored = saklı demektir

–executeplanı saklıyor

–yapısal bir değişiklik yapmadığımız sürece explan aynı kalacaktır

–dışardan parametre alabilir

–istediğimiz kadar programlama tarzı yapabiliriz

–2 tane storedprocedure vardır

–sistem procedureleri(system procedure) ve bizim tanımladıklarımız(user defined)

–sp = normal

–xp = extended


select * from yazarlar

select * from kitaplar

select * from kategoriler


select K.KitapNo,K.Adi as ‘Kitap Adi’,Y.Adi+ ‘ ‘+Y.Soyadi as ‘Ad Soyad’,

Kt.Adi as ‘Kategori’,K.Fiyati,K.Miktar,

case K.Durum when 1 then ‘Var’ else ‘Yok’

end as ‘Durum’

from kitaplar K inner join yazarlar Y

on K.YazarID=Y.YazarID

inner join Kategoriler Kt

on Kt.KategoriID=K.KategoriID

–stored procedureli hali

create procedure KitapListesi

as

select K.KitapNo,K.Adi as ‘Kitap Adi’,Y.Adi+ ‘ ‘+Y.Soyadi as ‘Ad Soyad’,

Kt.Adi as ‘Kategori’,K.Fiyati,K.Miktar,

case K.Durum when 1 then ‘Var’ else ‘Yok’

end as ‘Durum’

from kitaplar K inner join yazarlar Y

on K.YazarID=Y.YazarID

inner join Kategoriler Kt

on Kt.KategoriID=K.KategoriID


–ve tek cümleyle çağırabiliriz


exec kitaplistesi

declare @kitapadi varchar(100)

set @kitapadi = ‘c’

select K.KitapNo,K.Adi as ‘Kitap Adi’,Y.Adi+ ‘ ‘+Y.Soyadi as ‘Ad Soyad’,

Kt.Adi as ‘Kategori’,K.Fiyati,K.Miktar,

case K.Durum when 1 then ‘Var’ else ‘Yok’

end as ‘Durum’

from kitaplar K inner join yazarlar Y

on K.YazarID=Y.YazarID

inner join Kategoriler Kt

on Kt.KategoriID=K.KategoriID

where K.Adi like ‘%’+@kitapadi+’%’


–stored proc hali

create proc KitapArama

@kitapadi varchar(100)

as

select K.KitapNo,K.Adi as ‘Kitap Adi’,Y.Adi+ ‘ ‘+Y.Soyadi as ‘Ad Soyad’,

Kt.Adi as ‘Kategori’,K.Fiyati,K.Miktar,

case K.Durum when 1 then ‘Var’ else ‘Yok’

end as ‘Durum’

from kitaplar K inner join yazarlar Y

on K.YazarID=Y.YazarID

inner join Kategoriler Kt

on Kt.KategoriID=K.KategoriID

where K.Adi like ‘%’+@kitapadi+’%’


–as olanları getircez


exec KitapArama ‘as’


select * from products

–fiyatı 20 ile 50 olanları getir


declare @ilkfiyat money,

@sonfiyat money

set @ilkfiyat =20

set @sonfiyat = 50

select * from Products

where unitprice between @ilkfiyat and @sonfiyat


–proc hali

create proc UrunAra

@ilkfiyat money,

@sonfiyat money

as

select * from Products

where unitprice between @ilkfiyat and @sonfiyat


select * from employees


declare @city varchar(20)

set @city= ‘on’

select city from employees

where city like ‘%on%’


create proc SehirAra

@city varchar(20)

as

select EmployeeID,FirstName,LastName,City from Employees

where city like ‘%’+@city+’%’

exec SehirAra ‘%on%’


–kitap aramada değişiklikler yaptık

alter proc KitapArama

@kitapadi varchar(100),

@ilkfiyat money,

@sonfiyat money

as

select K.KitapNo,K.Adi as ‘Kitap Adi’,Y.Adi+ ‘ ‘+Y.Soyadi as ‘Ad Soyad’,

Kt.Adi as ‘Kategori’,K.Fiyati,K.Miktar,

case K.Durum when 1 then ‘Var’ else ‘Yok’

end as ‘Durum’

from kitaplar K inner join yazarlar Y

on K.YazarID=Y.YazarID

inner join Kategoriler Kt

on Kt.KategoriID=K.KategoriID

where K.Adi like ‘%’+@kitapadi+’%’

or (K.Fiyati between @ilkfiyat and @sonfiyat)

exec kitaparama ‘c’,10,50


select * from [order details]


–productIDlere göre toplam gelirlerini getircez


declare @productID int

set @productID = 51

select sum (Unitprice*Quantity) as ‘Toplam Kazanç’

from [order details]

where ProductID = @productID

group by productID


declare @sum money,@productname varchar(50)

select @productname =P.Productname,

@sum = sum(OD.unitprice*OD.Quantity)

from [order details] OD inner join Products P

on OD.ProductID=P.ProductID

group by P.Productname


create proc UrunArama

@productID int = null,

@customerID char (10) = null,

@ilkfiyat money = 0,

@sonfiyat money = null

as

if @sonfiyat is null

set @sonfiyat = (select max(unitprice) from [order details])

declare @sum money,@productname varchar(50)

select O.customerID,P.Productname,

sum(OD.Unitprice*OD.Quantity)

from [order details] OD inner join Products P

on OD.ProductID=P.ProductID

inner join orders O

on OD.OrderID=O.OrderID

where(@productID is null or OD.ProductID = @productID)

and (@customerID is null or O.CustomerID = @customerID)

and (OD.Unitprice between @ilkfiyat and @sonfiyat)

group by P.ProductName,O.CustomerID


select top 2 * from orders

select top 2 * from customers

select top 2 * from employees


–fullname,companyname,contactname,orderdate,region listele


select E.FirstName+ ‘ ‘+E.LastName as ‘Full Name’,C.CompanyName,C.ContactName,

isnull(E.Region,’no region’),convert(varchar(10),O.OrderDate,104)

from employees E inner join Orders O

on E.EmployeeID=O.EmployeeID

inner join customers C

on C.CustomerID=O.CustomerID


create proc deneme

@firstname varchar(50)=null,

@lastname varchar(50)=null ,

@companyname varchar(50)=null ,

@startdate datetime=null ,

@enddate datetime =null,

@region char(10)=null

as


select E.FirstName+ ‘ ‘+E.LastName as ‘Full Name’,C.CompanyName,C.ContactName,

isnull(E.Region,’no region’),convert(varchar(10),O.OrderDate,104)as ‘order Date’

from employees E inner join Orders O

on E.EmployeeID=O.EmployeeID

inner join customers C

on C.CustomerID=O.CustomerID

where (@firstname is null or E.FirstName like ‘%’+@firstname+’%’)

and (@lastname is null or E.Lastname like ‘%’+@lastname+’%’)

and (@companyname is null or C.Companyname like ‘%’+@companyname+’%’)

and (@region is null or E.Region like ‘%’+@region+’%’)

and ((@startdate is null or @enddate is null)

or O.Orderdate between @startdate and @enddate)



create sp nedir stored procedure nasıl kullanılır

22 Şubat 2016 Pazartesi

create proc prosedür kullanımı

declare @ilkfiyat money,

@sonfiyat money

set @ilkfiyat =20

set @sonfiyat = 50

select * from Products

where unitprice between @ilkfiyat and @sonfiyat


–proc hali

create proc UrunAra

@ilkfiyat money,

@sonfiyat money

as

select * from Products

where unitprice between @ilkfiyat and @sonfiyat


select * from employees


USE Northwind


GO


CREATE PROC pahali_kitaplar


AS


SELECT *


FROM products


WHERE unitprice > 30


GO

— çalıştırmak için

select * from products


EXEC pahali_kitaplar

—– bunun içinde declare ile değişken tanımlayıp çalışyıtman gerekiyor….

— stored procedure ye örnekler

select * from products

select * from [order details]


alter proc urunler

@productId int — declare siz hali yazılır

as


select e.firstname + ‘ ‘ + e.Lastname as ‘full name’,p.productname,p.unitprice * quantity

from employees e inner join orders o

on e.employeeID = o.employeeID inner join

[order details] od on

o.orderId = od.orderId inner join products p

on od.productId = p.productId


go


exec urunler


— bu örneği çoğaltalım pls…

create proc urunlerproductId

@productId int — declare siz hali yazılır

as


select e.firstname + ‘ ‘ + e.Lastname as ‘full name’,p.productname,p.unitprice * quantity,od.productId

from employees e inner join orders o

on e.employeeID = o.employeeID inner join

[order details] od on

o.orderId = od.orderId inner join products p

on od.productId = p.productId

where od.productId = @productID


go


exec urunlerproductId 1

create proc urunlerproductId

@productId int — declare siz hali yazılır

as


select e.firstname + ‘ ‘ + e.Lastname as ‘full name’,p.productname,p.unitprice * quantity,od.productId

from employees e inner join orders o

on e.employeeID = o.employeeID inner join

[order details] od on

o.orderId = od.orderId inner join products p

on od.productId = p.productId

where od.productId = @productID


go


exec urunlerproductId 1

create proc urunlerproductId2

@productId int, — declare siz hali yazılır

@orderID int

as


select e.firstname + ‘ ‘ + e.Lastname as ‘full name’,p.productname,p.unitprice * quantity,od.productId

from employees e inner join orders o

on e.employeeID = o.employeeID inner join

[order details] od on

o.orderId = od.orderId inner join products p

on od.productId = p.productId

where od.productId = @productID and

od.orderID = @orderID


go


exec urunlerproductId2 11,10248


— deefault ayar vermek


create proc urunlerproductId4

@productId int=11, — declare siz hali yazılır

@orderID int=10248

as


select e.firstname + ‘ ‘ + e.Lastname as ‘full name’,p.productname,p.unitprice * quantity,od.productId

from employees e inner join orders o

on e.employeeID = o.employeeID inner join

[order details] od on

o.orderId = od.orderId inner join products p

on od.productId = p.productId

where od.productId = @productID and

od.orderID = @orderID


go


exec urunlerproductId4 @orderId=10248



create proc urunlerproductId5

@productId int=null, — declare siz hali yazılır

@orderID int=null

as


select e.firstname + ‘ ‘ + e.Lastname as ‘full name’,p.productname,p.unitprice * quantity,od.productId

from employees e inner join orders o

on e.employeeID = o.employeeID inner join

[order details] od on

o.orderId = od.orderId inner join products p

on od.productId = p.productId

where (@productId is null or od.productId = @productID) and

(@orderID is null or od.orderID = @orderID)


go


exec urunlerproductId5 @orderID = 10248


–veya


exec urunlerproductId5 @productID = 11 — gibi


select * from customers

CREATE PROC musteriarama

@musterikodu int,

@company varchar(100),

@contactname varchar(50),

@city varchar(50),

@region varchar(50),

@phone int


AS


SELECT *


FROM customers

where (@company is null or Companyname = @company)and

(@contactname is null or contactname = @contactname)and

(@city is null or city = @city)and

(@region is null or region = @region)and

(@phone is null or phone = @phone)

GO


exec musteriarama @company = a


— çalıştırmak için


— bunu evde çalışş

select * from products


EXEC pahali_kitaplar



— ASCII KARATERLER İKİSİDE AYNI ANLAMA GELİYO AŞAĞIYI İNCELE

–SUBSTRING (DEGERI OKUR, NERDEN BASLICAK) ÇALIŞMA SİSTEMİ BÖLE

— SELECT SUBSTRING (AHMET,1,2,3) gibi

select ascii(‘H’)


SELECT CHAR(72)

create function encrypt (@value varchar(20))

returns varchar(200)

as

begin

declare @counter int

declare @encr_value nvarchar(200)

declare @position int

set @counter = len(@value)

set @position = 1

set @encr_value = ”


while @counter > 0

begin

set @encr_value = @encr_value + cast (ascii(substring(@value,@position,1)) as varchar)+char(8)

set @counter = @counter -1

set @position = @position + 1

end

return (@encr_value)

end

— bu bir tek çalışırılacak


select dbo.encrypt(customerID)

from customers


— buda ayrı


select dbo.encrypt(‘hasan’)


bunun — decrype tini yapıcaz



create proc prosedür kullanımı

Reuters Canlı İzle Linki




Canlı yayın yapılan bu linkten Taksim’i canlı olarak izleyebilirsiniz. Taksimdeki olayları bu linkten naklen rahatça izleyebilirsiniz.



Reuters Canlı İzle Linki

21 Şubat 2016 Pazar

Output kullanımı ve örnekleri

select * from customers


–customerID sini esas alacağız

–o da bize hangi bölümde çalıştığını yani şirket adını göstercek

–output olanlara biz değer atamayız


create proc SirketAdiGetir

@customerID char(10),

@companyName varchar(100) output

as

if exists (select top 1 customerID from customers

where customerID=@customerID)

begin

set @companyName =(select top 1 companyname from customers

where companyname=@companyName)

end

else

set @companyName = ‘Hatalı müşteri kodu…’


declare @sirketAdi varchar(100)

exec SirketAdiGetir ‘ALFKI’,@sirketAdi output


create proc SirketAdiGetir2

@customerID char(10)

as

declare @companyName varchar(100)

if exists (select top 1 customerID from customers

where customerID=@customerID)

begin

set @companyName =(select top 1 companyname from customers

where companyname=@companyName)

end

else

set @companyName = ‘Hatalı müşteri kodu…’


exec SirketAdiGetir2 ‘ALFKI’


–sp yi sp içerisinden çağırcağız


create procedure procTest

@customerID char(10)

as

declare @sirketAdi varchar(100)

exec SirketAdiGetir @customerID,@sirketAdi output


select * from customers where CompanyName like ‘%’+@sirketAdi+’%’

exec procTest ‘ALFKI’


–SirketAdiGetir2 yi tanımaz


create procedure procTest2

@customerID char(10)

as

declare @sirketAdi varchar(100)

set @sirketAdi =(SirketAdiGetir2 @customerID)


select * from customers

where CompanyName like ‘%’+@sirketAdi+’%’


exec procTest ‘ALFKI’

create proc CokluDegerDondurme

@customerID char(10)

as

if exists (select top 1 customerID from customers

where customerID=@customerID)

begin

select top 1 CompanyName,ContactName,Address

from customers

where customerID=@customerID

end

else

select ‘kayıt bulunamadı.’


exec CokluDegerDondurme ‘ALFKI’

–output ile yapılışı


create proc CokluDegerDondurme_output

@customerID char(10),

@companyName varchar(100) output,

@contactName varchar(100) output,

@address varchar (200)output

as

if exists (select top 1 customerID from customers

where customerID=@customerID)

begin

select top 1

@companyName = CompanyName,

@contactName = ContactName,

@address = Address

from customers

where customerID=@customerID

end

else

select ‘kayıt bulunamadı.’

declare @sirketAdi varchar(100),

@kisiAdi varchar(100),@adres varchar(200)


exec CokluDegerDondurme_output ‘ALFKI’,

@sirketAdi output,@kisiAdi output,@adres output



Output kullanımı ve örnekleri

function nedir nasıl kullanılır

–function sp ile aynı işlevi yapar

–function select,from yada where içinde çağırabiliriz

–sp yi çağıramayız arasındaki fark budur


–function olduğundan parantez açıp kapatmak gerekiyor


create function TarihFormatla (

@tarih datetime,

@formatTipi int

)

returns varchar(15)

as

begin

declare @formatliTarih varchar(15)


select @formatliTarih = convert(varchar(15),@tarih,@formatTipi)


return (@formatliTarih)

end

–değerlerini değiştik


alter function TarihFormatla (

@tarih datetime,

@formatTipi int

)

returns varchar(30)

as

begin

declare @formatliTarih varchar(30)


select @formatliTarih = convert(varchar(30),@tarih,@formatTipi)


return (@formatliTarih)

end


select dbo.TarihFormatla(getdate(),104)

select dbo.TarihFormatla(orderdate,104),

dbo.TarihFormatla(requireddate,104),

dbo.TarihFormatla(shippeddate,104)

from orders

— 0-250–>kötü

— 250-500–>orta

— 500-1000–>iyi

— 1000- –>süper


select (Unitprice *Quantity),

case when (Unitprice * Quantity) between 0 and 250 then ‘kötü’

when (Unitprice * Quantity) between 251 and 500 then ‘orta’

when (Unitprice * Quantity) between 501 and 1000 then ‘iyi’

when (Unitprice * Quantity) >1000 then ‘Süper’

end as ‘satış durumu’

from [order details]


–function ile yapılışı


create function dbo.SatisDurumu

(

@unitprice money,

@quantity int

)

returns varchar(50)

as

begin

declare @durum varchar(50)

declare @tutar money

set @tutar = (@unitprice *@quantity)

if (@tutar>=0 and @tutar<=50)

set @durum = ‘kötü’

else if (@tutar >=251 and @tutar<=500)

set @durum = ‘orta’

else if (@tutar >=501 and @tutar<=1000)

set @durum = ‘iyi’

else

set @durum =’süper’

return (@durum)

end

select (unitprice*quantity),dbo.SatisDurumu(unitprice,quantity)

from [order details]



function nedir nasıl kullanılır

20 Şubat 2016 Cumartesi

join sorular ve çözümler

/*———————————————————–odev———————————————————-

her bir categoriden her bir şirketin kaç tane sipariş verdiğini

hatta sayıya bakarak eğer sayı>50 ise yeni sutunda çok iyi sattık < 50 ise az sattık falan yazdir

companyname,categoryname ini ver

—————————————————————————————————————————-*/

——————————odev 2———————————–

—- burada görünen null lar yerine toplam ya da ara toplam yazdır—

————————————————————————-


–>>>>>>>>>>>>>>>>>> ÇÖZÜM 1 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

——————- ====>>> 1 . YOL ———————————————————————————

select CategoryName ,CompanyName,Quantity,

Durum = case

when quantity>50 then ‘Çok İyiyiz’

when quantity<50 then ‘Çok Kötü’

else ‘ilginç’

end

from categories ,customers,[order details]

where categoryID in (select categoryId from products p inner join [order details] od

on p.productID=od.productID where p.productID = od.ProductID )

and customerID in (select customerID from orders o inner join [order details] od

on o.orderID=od.orderID where o.orderID=od.orderID )


–order by companyname

–compute sum(quantity) by companyname

group by categoryname,companyname,quantity

order by categoryname


—————————————————————————————————————————-

–========================================= 2 . YOL ===================================================


select CategoryName ,CompanyName,Quantity,

Durum = case

when quantity>50 then ‘Çok İyiyiz’

when quantity<50 then ‘Çok Kötü’

else ‘ilginç’

end

from categories ca inner join products p

on ca.categoryID=p.categoryID

inner join [order details] od

on p.productID=od.productID

inner join orders o

on od.orderID=o.orderID

inner join customers cu

on o.customerId=cu.customerID

–order by companyname

–compute sum(quantity) by companyname

group by categoryname,companyname,quantity

order by categoryname


–=============================================================================================================



join sorular ve çözümler

sysobjects tablosundaki xtype açıklamaları

———- sysobjects tablosundaki xtype açıklamaları

/*** XTYPE

C = CHECK constraint


D = Default or DEFAULT constraint


F = FOREIGN KEY constraint


L = Log


FN = Scalar function


IF = In-lined table-function


P = Stored procedure


PK = PRIMARY KEY constraint (type is K)


RF = Replication filter stored procedure


S = System table


TF = Table function


TR = Trigger


U = User table


UQ = UNIQUE constraint (type is K)


V = View


X = Extended stored procedure


****/


——- sysobjects içindeki type tanımlamaları ————-

/**** TYPE

C = CHECK constraint


D = Default or DEFAULT constraint


F = FOREIGN KEY constraint


FN = Scalar function


IF = In-lined table-function


K = PRIMARY KEY or UNIQUE constraint


L = Log


P = Stored procedure


R = Rule


RF = Replication filter stored procedure


S = System table


TF = Table function


TR = Trigger


U = User table


V = View


X = Extended stored procedure


**********/


exec usp_ListCustomers

go

execute usp_ListCustomers

go

usp_ListCustomers

go


alter procedure usp_ListCustomers

as

select CustomerID,CompanyName from customers

where Country = ‘UK’

go


drop procedure usp_ListCustomers


select * from [order details]

–declare @pid int

–set @pid = 111


alter proc usp_GetTotalbyProductID

@pid int

as

IF EXISTS (select productID from [order details] where ProductID = @pid)

begin

select SUM(Unitprice * Quantity) as ‘Total’

from [order details]

where ProductID = @pid

end


ELSE

raiserror(‘Unmatched ProductID…’,14,1)

return

GO


exec usp_GetTotalbyProductID 11

select top 2 * from [order details]

select * from orders

select top 2 * from customers

select top 2 * from products


declare @startdate datetime , @enddate datetime

set @startdate = ‘19960701 00:00:00’

set @enddate = ‘19960801 00:00:00’


create procedure usp_GetTotalReport

@startdate datetime ,

@enddate datetime

as


select p.productname , sum(od.unitprice * od.quantity) as total

from [order details] od inner join orders o

on o.orderID = od.OrderID

inner join products p

on p.productID = od.productID

where o.orderdate between @startdate and @enddate

group by p.productname

order by p.productname


GO


usp_GetTotalReport ‘19960701 00:00:00′,’19960801 00:00:00’


create proc topla2

@sayi1 int,

@sayi2 int,

@sonuc int output

with recompile

as

select @sonuc = @sayi1 + @sayi2

GO


declare @sonuc int

EXEC topla 1,2,@sonuc output

select @sonuc


sp_recompile topla

declare @startdate datetime , @enddate datetime

set @startdate = ‘19960101 00:00:00’

set @enddate = ‘20060801 00:00:00’


alter proc usp_deleteproduct

@pid int

as

delete from products where productID = @pid


if @@rowcount = 0

begin

print ‘Hata oluştu…’

return 99

end


else

print ‘Product that has the number’ + cast(@pid as varchar(10)) + ‘was deletede successfully’

return 0

go


usp_deleteproduct 11



sysobjects tablosundaki xtype açıklamaları

19 Şubat 2016 Cuma

sql değişkenler

Yerel Değişkenler :


@@SERVERNAME

Sunucumuzu adı

@@LANGUAGE

kullanılan dil

@@VERSION

Kullandığımız SQL Server’ın sürüm bilgisi

@@IDENTITY

Kimlik sütunu için veritabanına girilen değer

@@ROWCOUNT

satır sayısı


SQL Server’da değişkenler DECLAERE ifadesi kullanma


” DECLARE @değişken_adı veri_türü ” ifadesi ile tanımlanır. Aralara virgül koyarsak birden fazla değişkeni tek aynı anda tek bir DECLARE ifadesi ile kullanbiliriz.


Bir değişken oluşturulduğunda NULL dur . Değişkenlere değer atamanın SET ifadesi değer atanabilir.

SET ifadesi kullanılarak değişkene değer atama


set @degisken=@deger


şeklinde kullanılabilir.


–değişkenler

—-tek @ işareti bu local variable = local değişken , @@ = global

—- # temp (geçici) = local, ## = global

declare @name varchar(10), @lastname varchar (10)

select @name = firstName , @lastname = lastname

from employees

where employeeID = 1

select @name , @lastname


select *

from employees

where employeeID = 1

set @name ‘hasan’

— =

select @name = ‘hasan’


set @name = (select firstname from employees where employeeID = 1)


set @lastname = (select lastname from employees where employeeID = 1) — set le sadece tek değer atanır

declare @sayı int

select @sayı = 2

select @sayı


declare @sayı int

select @sayı = employeeID from employees where firstname = ‘nancy’

select @sayı


declare @sayi int

set @sayi = (select employeeID from employees where firstname = ‘nancy’)

select @sayi

select top 2 *

from [order details]


declare @productID int

set @productID = 111


select sum (Quantity) as ‘toplam satıs miktarı’

from [order details]

where productID = @productID

declare @productID int

set @productID = 111

if exists (select top 1 productID from [order details] where productID = @productID)

select sum (Quantity) as ‘toplam satıs miktarı’ from [order details] where productID = @productID

else

select ‘productID=’ + cast (@productID as varchar (10)) + ‘ ‘ +’olan ürün yok’

declare @productID int , @total int

set @productID = 11

if exists (select top 1 productID from [order details] where productID = @productID)

begin

select @total =sum (Quantity) from [order details] where productID = @productID

select ‘ürün numarası = ‘ + cast (@productID as varchar (10)) + ‘ satıs adedi = ‘ + cast (@total as varchar (10))

end

else

select ‘productID=’ + cast (@productID as varchar (10)) + ‘ ‘ +’olan ürün yok’


—- cast (value as type)

select cast (10 as varchar (10))

select cast (’10’ as int)


— convert (data type , value)

select convert (varchar(10),10)


— data type larini değiştirir

select top 5 * from employees


select firstname , lastname ,

case title when ‘ Sales Manager’ then ‘satis temsilcisi’

when ‘Sales Representative’ then ‘satıs sorumlusu’

else ‘saticilar’ end as ‘gorev tanimi’

from employees


select top 2 * from [order details]

select top 2 * from orders


select freight ,

case when freight between 0 and 400 then ‘iyi’

when freight between 400 and 800 then ‘cok iyi’

else ‘harika’

end ‘durum’

from orders

order by ‘durum’


select top 2 * from products


select unitsInstock ,

case when unitsInstock >= 50 then ‘depoda cok var’

when unitsInstock between 10 and 50 then ‘az kaldı’

when unitsInstock <= 50 then ‘bitti’ else ‘bitiyor’ end ‘stok durumu’ ,

unitprice,

case when unitPrice >=50 then ‘pahalı’

when unitPrice between 20 and 50 then ‘orta’ else ‘ucuz’ end ‘fiyat durumu’


from products order by ‘stok durumu’


declare @son int , @toplam int

set @toplam = 0

set @son = 100

while @son > 0

begin

set @toplam = @toplam + @son

set @son =@son – 1

end

select

cast (@toplam as varchar(10))


select * from employees

select left(firstname,1) + ‘.’ + lastname as ’employeename’

from employees


left– soldan okuma

right– sağdan okuma

upper–büyük harflere çevirir

lower–küçük harfler

len–uzunluğu verir

substring–bir yerden itibaren okumak için

select left(firstname,1) as ‘left’,right(lastname,3)as ‘right’,

upper(firstname)as’upper’,lower(lastname)as’lower’,len (firstname) as ‘len’,

substring(title,15)as ‘substring’

from employees

206–>kamu telefonu

71–>özel telefon

select homephone from employees


select homephone,

case when left(homephone,5)="(206)’ then’kamu telefonu’

when left(homephone,4)="(71)’ then ‘özel telefon’ else ‘bilinmiyor’

end

from employees

select

print


declare @sayi int

set @sayi=10


print @sayi

–select @sayi

declare @i int

set @i=10248

while @i<5000

begin

select @i,freight from orders

where orderID=@İ +1

set @i=@i+1

end

select*from orders

select top 1 * from orders

select top 1 * from orders order by 1desc


declare @start int,@end int

set @start=(select top 1 orderID from orders)

set @end = (select top 1 orderID from orders order by 1 desc)

while @start < @end

begin

select @start ‘startValue’, orderID , freight

from orders

where orderID = @start

set @start = @start + 3

end

–select @start = ‘start’ , @end ‘end’


continue

break


declare @ID int

–select * from orders where orderID between 10250 and 10255

set (select top 1 orderID from orders)

while (@ID > 0)

begin

set @ID = @ID + 1

if (@ID > 10250 and @ID < 10255)

continue

if (@ID = 10260)

break

select orderID from orders where orderID = @ID

end


select convert (varchar(10),orderDate,105) as ‘NewOrderdate’

from orders


select datepart (day,orderDate) as ‘Day’,datepart (month,orderDate) as ‘month’ ,

datename (month,orderDate) as ‘month Name’,

case datepart (month,orderDate)

when 1 then ‘ocak’

when 2 then ‘subat’

when 3 then ‘mart’

when 4 then ‘nisan’

when 5 then ‘mayıs’

when 6 then ‘haziran’

when 7 then ‘temmuz’

when 8 then’ağustos’

when 9 then ‘eylul’

when 10 then ‘ekim’

when 11 then ‘kasım’

when 12 then ‘aralık’ else ‘bilinmiyor’ end ‘ay adı’,

datepart (year,orderDate) as ‘year’ , datepart (dy ,orderDate) as ‘day of year’ ,

datepart (week ,orderDate) as ‘week’ , datepart (weekday,orderDate) as ‘week day’ ,

datename (weekday,orderDate) as ‘weekdayname’ , case datepart (weekday , orderdate)


when 1 then ‘pazartesi’

when 2then ‘salı’

when 3 then ‘çarşamba’

when 4 then ‘perşembe’

when 5 then ‘cuma’

when 6 then ‘cumartesi’

when 7 then ‘pazar’else ‘bilinmiyor’ end ‘gun adı’

from orders

set datefirst 1


select getdate () –gunun tarihini getirir

select dateadd (month, 3 , getdate()) —tarih eklemek yada çıkarmak

select datename (weekday, dateadd (month, -3 , getdate()))

select datediff(day,’2005-12-03′, ‘2006-10-03′),

datediff(month,’2005-12-03’, ‘2006-10-03′),

datediff(year,’2005-12-03’, ‘2006-10-03′),

datediff(week ,’2005-12-03’, ‘2006-10-03’)

select* from orders


select datediff(day, orderdate,requireddate) as ‘teslimat süresi’

from orders


insert into ogrenciler

(ad, soyad) values (‘aylinn’ , ‘aaydinn’)

insert into ogrenciler

values (‘aaaa’, ‘bbbbb’,null)

update ogrenciler

set ad = ‘AYLIN’

where ad = ‘aylin’


update ogrenciler

set ad =upper(ad)


delete from ogrenciler — kalan ıdentityden dewam eder

select * from ogrenciler


truncate table ogrenciler



sql değişkenler

Sql Update replace kullanımı

Merhaba,


Bu makalemizde sql ile yani t-sql ile update komutu ile birlikte replace komutunun nasıl kullanıldığı anlatılacaktır.


Replace komutu kullanımı çok kolaydır.Aşağıda microsoft msdn kullanımı verilmiştir.


SELECT Replace(‘Sqlogren.com Sqlogrenmenin Tam Zamanı!’, ‘Tam’, ‘Yarım’)


Geri dönüş result ekranı şu şekide olacaktır.

Sqlogren.com Sqlogrenmenin Yarım Zamanı!


Şimdi bunu bir tablo için nasıl yapılacağını görelim.


SELECT Replace(Tablo_adı, ‘Değişecek Kelime’, ‘Yerine gelicek Kelime’) from tabloadı


şeklinde olacaktır.


Burda çok karşılaştığımız hatalardan biri olarak


SELECT Replace(‘SQLOgren.com Öğrenin!’, ‘Tam’, ‘Zamanı’)

Bize geri dönüşü şu şekilde olacaktır


SQLOgren.com Öğrenin! Çünkü değiştirilecek kelime içinde değiştirmek istediğiniz kelime yok ve bu sebeple değişiklik yapılmadı.


Bir tablo ile update ve replace fonksiyonunu kullanımı örneği;


Update dbo.kullanicilar

Set sehirler= replace(sehirler, ‘Istanbul’, ‘Istanbul_sqlogren’);


Bu bize kullanicilar tablosundaki sehirler sütunundaki tüm Istanbul yazan yerlere Istanbul_sqlogren kelimesini değiştirdiğini göreceksiniz.


Hepsi bu kadar kolay gelsin.



Sql Update replace kullanımı

18 Şubat 2016 Perşembe

HALK TV CANLI YAYIN

HALK TV CANLI YAYIN İZLE



Halk tv üzerinden canlı yayın yapan halk tv sqlogren.com üzerinden izleyebilirsiniz.



HALK TV CANLI YAYIN

Trigger Nedir Nasıl Kullanılır



CREATE

DROP

ALTER

INSERT

UPDATE

DELETE


BU İŞLEMLERİN HERHANGİ BİRİ YAPILDIĞI ZAMAN TRIGGER ÇALIŞIR (TETİKLEYİCİ)


Trigerin çalışması için sql agent ın çalışması gerekiyor

Genelde kullanılması tercih edilmez Kendi başlarına çalışırlar onun için…

Trigger a yaptığımız şeyleri stored procosedürlere tanımlayarak job bölümünden aynı işleri yaptırabilriz

select * from employees


alter table employees

add driverno varchar(15) null


— create trigger

for

instea of after dan sonra

delete,update,insert kullanılır


for delete,update,insert yapılıdığı anda bu işi yap

after delete,update,insert işlem yapıldıktan sonra bu işi yap demek

instea ise yapılan işlemi discard ederek kendisine yanımlanan işlemi yaptırır.

alter trigger Makeuniquedriverno

on employees –hangi table üzerinde çalışığını belirtiyorz

for insert,update — insert ve update oldupunda

as

if update(driverno) — employesin üzerinde çalışırkken yaplıan update içerisinde driver no update oluyosa

if exists ( select driverno from employees

where driverno is null and

driverno in (select distinct (driverno) from inserted)– eğer girilen veri drivernoda varsa

)

begin

select distinct (driverno) from inserted


raiserror (‘Driverno sistemde mevcuttur.’,16,1)

rollback tran

end– yapılan işlemli geri al


–trigerda özel 2 tablo var 1 inserted ve 2. deleted

–insert ve update olduğu zaman inserted da bekler

— girilen veriye kısıt verildiyse veri girildikten sonra kontrol için

— bi yerde beklemesi gerekiyor bunun için inserted da bekliyor.

–bi kayıt silinirse deleteed ı girer.


update employees

set driverno = ‘12345’


update employees

set driverno = ‘12347’

where employeeID = 1


select * from employees

alter trigger Makeuniquedriverno

on employees –hangi table üzerinde çalışığını belirtiyorz

for insert,update — insert ve update oldupunda

as


declare @driverno varchar(15)

declare @employeeID int

declare @intdriverno int


select @driverno = driverno , @employeeID=employeeID from inserted

set @newdriverno = (select convert(int,max,driverno)) + 1 from employees


if update(driverno)

begin

if exists ( select top 1 employeeID from employees

where driverno = @driverno

begin

update employees

set driverno = convert(varchar(15),@newdriverno)

where employeeID =@employeeID

select ‘driverno değiştirilecek kaydedildi…’

end

else

begin

update employees

set driverno @driverno

where employeeID = @employeeID

select ‘ driverno değiştirilmeden kaydedildi…’

end

end


 


create table triggertest

(

testId int not null primary key identity(1,1),

testAdi varchar(50) null,

testaciklama varchar(100)

)


declare @counter int

set @counter = 1


declare @testadi varchar(50)

declare @testaciklama varchar(100)

set @testadi = ‘test’

set @testaciklama = ‘Açıklama’

while @counter <= 20

begin


set @testadi = @testadi + convert(varchar(10),@counter)


insert into triggertest

values(@testadi,@testaciklama)

set @counter = @counter + 1

end


select * from triggertest


create trigger deleteonce

on triggertest

for delete

as

if (select count(*) from deleted) > 1

begin

raiserror (‘aynı anda birden fazla kayıt silemezsiniz.’,16,1)

rollback tran

end

delete from triggertest

where testID>1 — bu çalıştı ve birden fazla kayıt sildirmiyyor..


create table urunler

(

urunId int not null identity(1,1) primary key,

urunadi varchar(50) not null,

miktar int not null default(0)

)

create table musterisiparisleri

(

siparisId int not null identity(1,1) primary key,

urunId int not null,

miktar int not null default(0)

)


create table sirketsiparisleri

(

siparisId int not null identity(1,1) primary key,

urunId int not null,

miktar int not null

)


declare @urunadi varchar(50)

declare @miktar int

declare @counter int

set @counter = 1


while @counter <= 20

begin

set @urunadi = ‘ürün ‘ + convert (varchar(10),@counter)

set @miktar = 10 * @counter


insert urunler

values(@urunadi,@miktar)

set @counter = @counter + 1

end


alter table kullanicilar

(

kullaniciID int not null identity(1,1) primary key,

adsoyad varchar(100) not null,

kullanicitipi tinyint not null default(2))

— 1: Admin 2: Normal Kullanıcı

)


insert kullanicilar

values(‘Hasan Mansur’ ,1)


insert kullanicilar(adsoyad,kullanicitipi)

values(‘Murat KARAKUŞ’,1)


insert kullanicilar

values(‘Cafer KARAKUŞ’,2)


insert kullanicilar

values(‘mEHmet ÖZNUR’,2)


insert kullanicilar

values(‘Hasan Hüseyin’,2)


insert kullanicilar

values(‘Zeynel Yasan’,1)


select * from kullanicilar


truncate table kullanicilar — truncate


alter table admin

(

KullaniciId int not null primary key,

durum tinyint not null default(1) –0 silindi ; 1: Aktif


)

— trigger

alter trigger adminlog

on kullanicilar

for insert , update

as


declare @inserted_adsoyad varchar(100)

declare @inserted_KullaniciTipi tinyint

declare @yenikullaniciId int

declare @updated_kullaniciID int


select @inserted_adsoyad = Adsoyad,

@inserted_KullaniciTipi = KullaniciTipi

from inserted


–update için bundan sonrası


if update (KullaniciTipi)


begin


set @updated_kullaniciID = (select kullaniciId from inserted)

— yeni kullanıcı tipi admin ise

if @inserted_KullaniciTipi = 1

begin

— eğer bu kullanıcı admin tabloasunda yoksa ise ekle

if not exists(select top 1 kullaniciID from admin where KullaniciID =@updated_kullaniciID)

begin

insert admin

values (@updated_kullaniciID)


print ‘kayıt admine eklendi’

end

end

else — kullanıcı yeni ise tipi = 2 yani normal kullanıcı

begin

–eğer bu kullanıcı tipi varsa sil

if exists(select top 1 kullaniciID from admin where KullaniciID = @updated_kullaniciID)

begin

insert admin

values (@updated_kullaniciID)

print ‘kayıt adminden silindi Vallaha’

end

end

if @inserted_KullaniciTipi = 1


begin

select @yenikullaniciID = @@identity — kullanıcının verilen ID nin dönmesi görmek için

insert admin values(@yenikullaniciId,1)

print ‘Kullanıcı Tipi Admine Yazıldı’

end

else

print ‘Kullanıcı Tipi Admine Yazılmadı’


select * from admin



Trigger Nedir Nasıl Kullanılır

17 Şubat 2016 Çarşamba

Sql Cursor Örnekleri

select lastname, firstname from employees

order by lastname, firstname

declare contact_cursor scroll cursor for

select lastname, firstname from employees

order by lastname, firstname

open contact_cursor


— en sondaki kayıt

fetch last from employee_cursor


–en sondaki kayıtta kaldıyda ondan bir öncekk kayıt

fetch prior from employee_cursor


— cursor ın bulunduğu yerden 2 ilerideki kayıt

fetch absolute 2 from employee_cursor


— bulunduğu yerden 3 sonraki kayıt

fetch relative 3 from employees_cursor

— bir sonrakine gider

FETCH NEXT FROM employees_cursor


— bulunduğu yerden 2 önceki kayıt

fetch relative 2 from employees_cursor


close employee_cursor

DEALLOCATE emloyee_cursor

go

— prior en son kayıtta kalır bi öncekine birini gönderiri o-kutur..


— absolute ileri iki sonda kayıt kalmadıysa başadöner ilk iki kayıdı okur cursomrı gördüğü yerden sayar.cursordan sonra sayama başlar

–realive ise kendisinin en son okuduğu yerden okumaya devam eder

–en sonda yazılan kod deallocate remi boşaltamya yarar.

–priordan sonra relative çalışırırsan priordan sonra saymaya başlar.



declare @empfirstname varchar(50),@emplastname varchar(50)


declare @empcursor cursor for

select lastname, firstname from employees

order by lastname, firstname


open @empcursor


fetch next from empcursor

into @emplastname,@empfirstname — selectde ne okuduyda ona göre sıralamak zorundayız

while @@fetch_status = 0

begin


print ’employee :’ + @empfirstname + ‘ ‘ @emplastname


fetch next from empcursor

into @emplastname,@empfirstname

end

close empcursor

deallocate empcursor

go

SELECT OD.PRODUCTID,SUM(OD.QUANTITY) AS ‘QUANTITY’,

SUM(P.UNITSINSTOCK) AS

CASE WHEN SUM(

FROM [ORDER DETAILS] OD INNER JOIN PRODUCTS P

ON OD.PRODUCTID = P.PRODUCTID


SELECT * FROM KULLANICILAR


DECLARE @kullaniciID int,@adsoyad varchar(50), @kullanicitipi int


declare @temp_kullanicilar table

(kullaniciId int,

adsoyad varchar(50),

kullanicitipi int

)


declare kul_cursor cursor fast_forward read_only for


select kullanicilarId , adsoyad,kullanicitipi

from kullanicilar

order by 1 asc


open kul_cursor cursor

fetch next from kul_cursor

into @kullaniciId , @aysoyad, @kullanicitipi

while @@fetch_status


begin


if exists (select top 1 kullanicilarID from @temp_kullanicilar

where adsoyad = @adsoyad

begin

if (select kullanicitipi from @temp_kullanicilar

where adsoyad =@adsoyad)

end

end


close kul_cursor

deallocate kul_cursor

go



Sql Cursor Örnekleri