9-SQL DERSLERİ – STORE PROCEDURE

222
görünümler

Yazıya başlamadan öncelikle şundan bahsetmek istiyorum.

İş hayatına giriyorsanız iş hayatı eşittir store procedure.

Profesyonel bir şirkette çalışıyorsanız ya kesinlikle ve kesinlikle STOREPROCEDURE u bilmek zorundasınız. PROCEDURE kod bloğudur. İstediğiniz zaman istediğiniz yerde çağırabilirsiniz. Size değer döndürür, parametre alır. Bu sayede dinamik bir yapıdır. İstediğiniz gibi döndürebilirsiniz. Bu size çok büyük avantajlar sağlar. Kısacası iş hayatında çalışacaksanız PROCEDURE leri adınız gibi bilmek zorundasınız. Fonksiyonlardan daha önemlidir.

Stored procedure aracılığıyla aşağıdaki işlemler yapılabilir.

  • Input parametrelerini kabul ederek ve birçok değerin geri dönmesini sağlar.
  • Database içindeki işlemleri yapmak için programlama deyimleri içerir.
  • Stored procedure’lar genellikle rutin hale gelmiş işleri kolayca yapmak için geliştirilirler.
  • SQL deyimleriyle yazılan stored procedure’ler sadece ilk kez çalıştırıldıklarında derlenirler. Daha sonraki çalıştırma işlemlerinde derlenmezler ve böylece hızlı bir biçimde çalışma sağlanmış olur.

Bir SQL Server stored procedure’ı CREATE PROCEDURE deyimi ile oluşturulur. İstenirse daha sonra ALTER PROCEDURE deyim ile değiştirilir. Bir stored procedure yaratma deyimi tek bir batch olarak düzenlenir. Diğer bir deyişle diğer SQL deyimleriyle aynı batch içinde yer alamaz.

Örnek olarak ekrana değer basan bir PROCEDURE yapalım.

procedureSTORE PROCEDURE ümüzü oluşturduk. Peki bu PROCEDURE ün sonucunu nasıl görürüz. EXECUTE dan gelen EXEC ile.

execprocedurePROCEDURE ü yukardaki gibi çağırıyoruz. Peki bu PROCEDURE ler nerde duruyor. Hangi database de çalıyorsanız önce onun üzerine gelin sağ click yapıp refresh diyin. Database in içinde Programmability klasörünün içinde Stored Procedures klasörü vardır. Onun içinde oluşturduğunuz PROCEDURE leri görebilirsiniz.

Şimdi parametrik bir PROCEDURE yazalım.

procedureparametreAşağıdaki EXEC komutu ile PROCEDURE ümüzü çağırdık. Yanlız diğer seferkinden farklı olarak bu sefer PROCEDURE adından sonra bir parametre yazdık. Çünkü PROCEDURE bizden bir parametre istiyor. Eğer parametreyi yazmasaydık herhangi bir veri gelmeyecekti.procedure2Şimdi biraz daha complex bir PROCEDURE yazalım. Ne yazıkki MSSQL de tablonun üzerine geldiğimizde tablonun yapısını göremiyoruz.

Bunun için bir PROCEDUREyazalım.

Tablonun adını çağırdığımız zaman bize direk olarak tablonun özelliklerini getirsin.

procedure3PROCEDURE ümüzü oluşturduk. Bizim bir şema adımız birde tablo adımız var. Bu yüzden önce 2 tane değişken tanımladık. Biri şema adı ve diğeride tablo adı. Ardından BEGIN END bloğu içine select sorgumuz yazdık. Daha sonra sys.objects ile sys.columns INNER JOIN le tabloları birbirine bağladık.

((select * from sys.objects  bize  butun tablo isimlerini getirir.))

((select * from sys.columns  da butun kolonları getirir.)) 

Şimdi PROCEDURE ümüzü çağıralım .EXEC ile çağırıoduk.

procedure4PROCEDURE ümüz bizden iki tane parametre istiyor. Birinci parametremize şema adını , ikinci parametremizede tablo adını yazıp çalıştırdıktan sonra yukardaki listeyi elde etmiş oluyoruz. Bu çok yararlı bir fonksiyondur arkadaşlar ve iş hayatında çok ihtiyacınız olacaktır.

Bir sonraki derse geçmek için tıklayınız.

1 Yorum

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz