0% found this document useful (0 votes)
16 views46 pages

MS SQL

Uploaded by

ilk.kandemir
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views46 pages

MS SQL

Uploaded by

ilk.kandemir
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

T.

C
GAZİ ÜNİVERSİTESİ
BİLİŞİM ENSTİTÜSÜ
YÖNETİM BİLİŞİM SİSTEMLERİ ANA BİLİM DALI

MS SQL KOMUTLARI

KOMUTLAR İLE İLGİLİ ÖRNEK UYGULAMALAR

DERYA ÇETİNKOL
148008852
Tablolar
1. Oğrenci Tablosu
2. Bölüm Tablosu
3. Ders Tablosu
4. Öğrenci Ders Tablosu

Komutlar

5. SELECT ifadesi
6. DISTINCT
7. JOIN (LEFT JOIN, RIGHT JOIN, INNER JOIN)
8. ORDER BY
9. GROUP BY
10. HAVING
11. IN
12. LIKE
13. BETWEEN
14. UNION
15. COUNT, SUM fonksiyonları
16. MAX, MIN, AVG fonksiyonları
17. DATEDIFF fonksiyonu
18. INSERT ifadesi
19. UPDATE ifadesi
20. DELETE ifadesi
21. CREATE TABLE
22. ALTER TABLE
23. DROP TABLE ifadeleri
24. CREATE VIEW
25. CREATE PROCEDURE
26. CREATE TRIGGER
27. CREATE FUNCTION
1-ÖGRENCİ TABLOSU

Ogrenci_No Adi Soyadi Bolumu Kayit_Tarihi Yas Ortalama


1 Merve Zorlu FEL 09.04.2011 18 86
2 Emre Ceylan FIZ 12.11.2011 21 98
3 Yavuz Atik BMH 11.07.2011 18 76
4 Sinem Aydın MAT 19.04.2009 26 90
5 Kemal Seçer BMH 07.09.2011 20 73
6 Veli Seçer MAT 01.07.2008 19 88
7 Davut Atik BİY 11.04.2011 27 65
8 Kadir Bilgili KİM 19.05.2009 25 60
9 İsmail Türker KİM 17.01.2009 27 56
10 Tahsin Karadeniz BİY 26.08.2010 22 46
11 Kemal Ceylan BMH 24.01.2010 27 66
12 Uğur Bilge FEL 13.05.2009 20 44
13 Kadir Seçer FIZ 11.05.2009 19 69
14 Kadir Altınok FEL 05.12.2010 23 64
15 Veli Yücel İST 22.08.2011 18 53
2- BÖLÜM TABLOSU

Bolum_Kodu Bolum_adi Telefon

FIZ Fizik 3122132156

KİM Kimya 3125812754

BİY Biyoloji 3122795174

KMY Kamu Yönetimi 3124523162

İST İstatistik 3127143873

FEL Felsefe 3126311383

MAT Matematik 3123534152

TRÖ Türkçe Öğretmenliği 3127679351

SNÖ Sınıf Öğretmenliği 3125492964

BMH Bilgisayar Mühendisliği 3122529214


3- DERS TABLOSU

Ders_Kodu Ders_Adi Kredisi


TÜD01 Türk Dili I 4
YAD01 Yabancı Dil I 6
ATA01 Atatürk İlke ve İnkılâpları Tarihi 4
MUH01 Muhasebe 4
SOS01 Sosyoloji 6
TBT01 Temel Bilgi Teknolojileri 6
TÜD02 Türk Dili II 5
YAD02 Yabancı Dil II 5
PİS01 Pisikoloji 6
MAT01 Matematik 1 3
MAT02 Matematik 2 4
KİM01 Kimya 4
FİZ01 Fizik 5
AYH01 Anayasa Hukuku 2
HKG01 Hukuka Giriş 4
4- ÖĞRENCİDERS TABLOSU

Ögrenci_No Ders_Kodu Kac_Kez_Aldı Vize_Notu Final_Notu Sonuc


9 FİZ01 1 64 55 Kaldı
8 MUH01 1 70 60 Geçti
11 AYH01 1 50 45 Kaldı
5 ATA01 1 63 38 Kaldı
9 TBT01 1 91 59 Geçti
3 MAT02 1 80 70 Geçti
12 ATA01 1 85 37 Kaldı
15 TÜD01 1 25 84 Geçti
6 TÜD02 1 30 30 Kaldı
3 TÜD01 1 78 63 Geçti
9 MUH01 1 58 80 Geçti
12 TBT01 1 93 80 Geçti
2 MAT01 1 78 22 Kaldı
7 TÜD02 1 43 99 Geçti
13 MAT02 1 54 79 Geçti
5 TBT01 1 55 96 Geçti
2 MAT01 2 48 29 Kaldı
3 YAD01 1 55 97 Geçti
9 YAD02 1 98 38 Geçti
6 TBT01 1 43 61 Kaldı
3 YAD02 1 98 65 Geçti
14 MAT01 1 56 76 Geçti
1 KİM01 1 77 60 Geçti
3 MUH01 1 47 83 Geçti
1 YAD02 1 81 85 Geçti
5 HKG01 1 85 74 Geçti
14 AYH01 1 54 30 Kaldı
15 KİM01 1 76 53 Geçti
1 ATA01 1 34 61 Kaldı
7 YAD01 1 43 72 Geçti
SELECT KOMUTU

SELECT deyimi veritabanındaki bir veya birden fazla tablodan veri almak için kullanılır.
Örneğin web sitemizde veritabanında bulunan herhangi bir bilgiyi (mesela bir üyenin
detaylı bilgilerini) sayfada göstermek istersek, ilgili tablo(lar)daki verileri SELECT deyimi
ile alırız. Bu işleme sorgulama denir

KOMUT:

SELECT TOP 1000 [Bolum_Kodu]


,[Bolum_adi]
,[Telefon]
FROM [vizeUE].[dbo].[Bolum]

Örnek Uygulama:

Uygulanan örnekte Bolum tablosunda yer alan Bolum_Kodu ,Bolum_adi ve Telefon


kolonlarındaki veriler veritabanından alınmıştır.
DISTINCT KOMUTU

Bu komutla aynı isme ya da numaraya sahip kayıtlar sadece bir kere çekilir.

KOMUT:

SELECT DISTINCT [Vize_Notu]

FROM [vizeUE].[dbo].[OgrenciDers]

Örnek Uygulama:

Uygulanan örnekte OgrenciDers tablosunda yer alan Vize_Notu alanındaki


benzersiz veriler veritabanından alınmıştır.
JOIN KOMUTU

İki ya da fazla tablodan veri almamız gerektiğinde bu durumda kullandığımız


yöntem join komutudur. Inner Join, Left Join ve Right Join şeklinde kullanılır.

1- Left Join Komutu : İki ya da fazla tablodan veri alınması gerektiğinde


kullandığımız komuttur. Left Join, Inner Join ile hemen hemen aynı
işlevi görür. Left Join komutunun tek farkı soldaki verinin tamamını
almasıdır.

KOMUT:

SELECT [Link],soyadi,[Link]
FROM [vizeUE].[dbo].[Ogrenci]
Left join [vizeUE].[dbo].[OgrenciDers] on
Ogrenci.Ogrenci_No=OgrenciDers.ogrenci_no

Örnek Uygulama:

Aşağıdaki örnekte Ogrenci tablosundan alınan adi, soyadi alanları ve OgrenciDers


tablosundan alınan sonuc alanı ile birlikte aynı tabloda verildiği görülmektedir. Left Join
komutu işlevi gereği soldaki verinin tamamını alır.
2- Right Join Komutu: İki ya da fazla tablodan veri almamız
gerektiğinde kullanılan yöntem join komutudur. Right Join, Inner Join
ile hemen hemen aynı işlevi görür. Right Join komutunun tek farkı
sağdaki verinin tamamını almasıdır.

KOMUT:

SELECT [Link],soyadi,[Link]
FROM [vizeUE].[dbo].[Ogrenci]
Right join [vizeUE].[dbo].[OgrenciDers] on
Ogrenci.Ogrenci_No=OgrenciDers.ogrenci_no

Örnek Uygulama:

Aşağıdaki örnekte Ogrenci tablosundan alınan adi, soyadi alanları ve OgrenciDers


tablosundan alınan sonuc alanı ile birlikte aynı tabloda verildiği görülmektedir. Right
Join komutu işlevi gereği sağdaki verinin tamamını alır.
3- Inner Join Komutu: Çok basit olarak inner join bir-e-bir join anlamına
gelmektedir. İki adet tablo düşünürsek TabloA da Alan1 adlı bir alanınız var bu
alanda A,B,C değerleri var, TabloB de Alan1 de ise A,B,K değerleri var. Eğer iki
tablo arasında inner join kurarsanız sonuç ta dönecek listede sadece A ve B
değerleri olacaktır. Inner joinde yanlızca eşit olan kayıtlar döner

KOMUT:

SELECT [Link],soyadi,[Link]
FROM [vizeUE].[dbo].[Ogrenci]
Inner join [vizeUE].[dbo].[OgrenciDers] on
Ogrenci.Ogrenci_No=OgrenciDers.ogrenci_no

Örnek Uygulama:

Uygulanan örnekte ogrenci tablosundan adi, soyadi alanlarını Ogrenci_Ders


tablosundan sonuc alanını aldığımız ve bunu tek tabloda birleştirdiğimiz görülmektedir.
ORDER BY KOMUTU

Sorgunun sonucunun sıralı olarak isteğe göre büyükten küçüğe ya da küçükten


büyüğe veritabanından alınmasını sağlar

KOMUT:

SELECT * FROM [vizeUE].[dbo].[OgrenciDers] ORDER BY Final_Notu

Örnek Uygulama:

Uygulanan örnekte OgrenciDers tablosundaki Final_Notu alanında bulunan


verilerin küçükten büyüğe doğru sıralanışı görülmektedir.
GROUP BY KOMUTU
Belirtilen kolon veya kolonlardaki tüm satırları bir araya toplar ve bu kolonlar
üzerinde kümeleme fonksiyonlarının çalıştırılmasına izin verir.

KOMUT:

SELECT Ders_Kodu FROM [vizeUE].[dbo].[OgrenciDers]


GROUP BY Ders_Kodu

Örnek Uygulama:

Uygulanan örnekte OgrenciDers tablosundaki Ders_Kodu alanında bulunan


verilerin grup haline geldiği görülmektedir.
HAVING KOMUTU

Gruplandırarak kümeleme fonksiyonlarını uygularken koşul da verilebilir. Bu durumda,


grup üzerindeki hesaplamalarla ilişkili koşul belirtirken HAVING sözcüğünü kullanmak
gerekir. Belirli bir koşula göre grup oluşturmayı sağlar.

KOMUT:

SELECT Ortalama
FROM [vizeUE].[dbo].[Ogrenci]
GROUP BY Ortalama
HAVING AVG(Ortalama)>70

Örnek Uygulama:

Uygulanan örnekte Ogrenci tablosundaki Ortalama alanında bulunan verilerden


70’ ten büyük notlarının ortalamasının alındığı görülmektedir.
IN KOMUTU

IN koşul operatörü, küme üyeliğini sınamak için kullanılır. Yani, bir değerin bir kümeye
ait olup olup olmadığını sınamak için kullanılır.

KOMUT:

SELECT TOP 1000 [Ogrenci_No]


,[Ders_Kodu]
,[Kac_Kez_Aldi]
,[Vize_Notu]
,[Final_Notu]
,[Sonuc]
FROM [vizeUE].[dbo].[OgrenciDers]

WHERE Ders_Kodu IN ('MAT02', 'TÜD02', 'YAD02');

Örnek Uygulama:

Uygulanan örnekte görüldüğü üzere OgrenciDers tablosunda Ders_Kodu alanındaki


MAT02, TÜD02, YAD02 verilerine eşit verilerin veritabanından alınması sağlanmıştır.
LIKE KOMUTU

Like operatörü belirttiğiniz şeye benzeyen verilerin veritabanından alınmasını


sağlar.

KOMUT:

SELECT TOP 1000 [Ogrenci_No]


,[Ders_Kodu]
,[Kac_Kez_Aldi]
,[Vize_Notu]
,[Final_Notu]
,[Sonuc]
FROM [vizeUE].[dbo].[OgrenciDers] WHERE Ogrenci_No LIKE '9'

Örnek Uygulama:

Uygulanan örnekte görüldüğü üzere OgrenciDers tablosunda Ogrenci_No alanında


‘9’ olanların veritabanından alınması sağlanmıştır
BETWEEN KOMUTU
Between operatörü belirtilen koşullar aralığında bulunan verilerin
veritabanından alınmasını sağlar.

KOMUT:

SELECT TOP 1000 [Ogrenci_No]


,[Ders_Kodu]
,[Kac_Kez_Aldi]
,[Vize_Notu]
,[Final_Notu]
,[Sonuc]
FROM [vizeUE].[dbo].[OgrenciDers] WHERE Vize_Notu BETWEEN 60 AND 80

Örnek Uygulama:

Uygulanan örnekte görüldüğü üzere OgrenciDers tablosunda Vize_Notu alanındaki


verilerden vize notu 60 ile 80 arasında olan veriler veri tabanından alınmıştır.
UNION KOMUTU
Aynı kolonlara sahip tabloların birleştirilmesi amacıyla kullanılır. Sadece UNION
kullanırsak iki tabloda aynı isimler olsa bile tekrarlar. UNION ALL kullanırsak iki tabloda
aynı isimler olsa bile sadece tekini sorgular.

KOMUT:

SELECT [Ogrenci_No]

FROM [vizeUE].[dbo].[Ogrenci]

UNION ALL Select Ogrenci_No from [Link]

Örnek Uygulama:

Uygulanan örnekte görüldüğü üzere Ogrenci ve OgrenciDers tablolarında bulunan


ogrenci_no alanları birleştirilmek suretiyle veriler veri tabanından alınmıştır union all
komutu kullanıldığı için verileri listelerken iki defa aynı kayıtları listelemiştir. Union
komutu kullanılması halinde yalnızca veritabanından birer kayıt getirilir.
COUNT SUM FONKSİYONLARI

COUNT FONKSİYONU

Bir tabloda seçili olan alan içerisindeki değerleri saymak için COUNT deyimini kullanırız.
Anket uygulamalarımızda, bir makale için yorum,hit sayısını belirtmede kullanabiliriz.

KOMUT:

SELECT COUNT(*) FROM [Link]

Örnek Uygulama:

Uygulanan örnekte görüldüğü üzere Ogrenci tablosundaki satır sayısı count operatörü ile
bulunmuştur.
SUM FONKSİYONU

İstenilen tablonun istenilen kolonundaki tüm değerlerin toplamının


veritabanından alınmasında kullanılır.

KOMUT:

SELECT SUM (Vize_Notu) FROM [vizeUE].[dbo].[OgrenciDers]

Örnek Uygulama:

Uygulanan örnekte görüldüğü üzere OgrenciDers tablosundaki Vizel_Notu


kolonundaki tüm değerlerin toplamı alınmıştır.
MAX FONKSİYONU

İstenilen tablonun istenilen kolonundaki tüm değerlerin içerisinden en yüksek


değeri almamızı sağlar.

KOMUT:

SELECT MAX(Yas)FROM [Link]

Örnek Uygulama:

Uygulanan örnekte görüldüğü üzere Ogrenci tablosundaki Yas kolonundaki en


yüksek değer alınmıştır.
MIN FONKSIYONU

İstenilen tablonun istenilen kolonundaki tüm değerlerin içerisinden en düşük


değeri almamızı sağlar.

KOMUT:

SELECT MIN(Yas)FROM [Link]

Örnek Uygulama:

Uygulanan örnekte görüldüğü üzere Ogrenci tablosundaki Yas kolonundaki en


düşük değer alınmıştır.
AVG FONKSİYONU

Ilgili kolondaki bütün kayıtları toplar kayıt sayısına böler.

KOMUT:

SELECT AVG(Vize_Notu) FROM [vizeUE].[dbo].[OgrenciDers]

Örnek Uygulama:

Uygulanan örnekte görüldüğü üzere OgrenciDers tablosundaki Vize_Notu


kolonundaki tüm değerlerin aritmetik ortalaması alınmıştır.
DATEDIFF KOMUTU

Tarih hesaplarının yapılması amacıyla kullanılır, verilen tarih değerlerinin


arasındaki farkı alır.

KOMUT:

SELECT DATEDIFF(year,2009/04/19,Kayit_Tarihi)
FROM [vizeUE].[dbo].[Ogrenci]

Örnek Uygulama:

Uygulanan örnekte görüldüğü üzere Ogrenci tablosunda bulunan kayit_tarihi


kolonundaki tarih değerlerinin örnekte verilen tarih ile farkı alınmıştır.
INSERT KOMUTU

Veritabanına kayıt eklemek için INSERT INTO deyimini kullanırız.

KOMUT:

SELECT TOP 1000 [Ogrenci_No]


,[Adi]
,[Soyadi]
,[Bolumu]
,[Kayit_Tarihi]
,[Yas]
[Ortalama]
FROM [vizeUE].[dbo].[Ogrenci]

INSERT INTO Ogrenci (Ogrenci_No, Adi, Soyadi, Bolumu, Kayit_Tarihi, Yas, Ortalama)
VALUES ('16', 'Demet', 'Yucel', 'IST', '08.22.2011', '18','55')

Örnek Uygulama:

Uygulanan örnekte görüldüğü üzere Ogrenci tablosundaki Ogrenci_No, Adi, Soyadi,


Bolumu, Kayit_Tarihi, Yas, Ortalama kolonlarına sırasıyla '16', 'Demet', 'Yucel', 'IST',
'08.22.2011', '18','55' değerleri eklenmiştir.
UPDATE KOMUTU

Veritabanında bulunan verileri değiştirmek-güncellemek amacıyla kullanılan bir


deyimdir.

KOMUT:

SELECT TOP 1000 [Ogrenci_No]


,[Adi]
,[Soyadi]
,[Bolumu]
,[Kayit_Tarihi]
,[Yas]
,[Ortalama]
FROM [vizeUE].[dbo].[Ogrenci]

INSERT INTO [vizeUE].[dbo].[Ogrenci] (Ogrenci_No, Adi, Soyadi, Bolumu,


Kayit_Tarihi, Yas, Ortalama) VALUES ('16', 'Demet', 'Yucel', 'IST', '08.22.2011', '18','55')
UPDATE [vizeUE].[dbo].[Ogrenci] SET Adi='Damla' WHERE Ogrenci_No='16'

Örnek Uygulama:

Uygulanan örnekte görüldüğü üzere Ogrenci tablosundaki Adi kolonundaki İsim Update
komutu kullanılarak Damla olarak güncellenmiştir.
DELETE KOMUTU

Veritabanında bulunan bir tablodaki istenilen kayıtları silmek amacıyla kullanılan temel
bir SQL deyimidir.

KOMUT:

INSERT INTO [vizeUE].[dbo].[Ogrenci] (Ogrenci_No, Adi, Soyadi, Bolumu, Kayit_Tarihi,


Yas, Ortalama)
VALUES ('16', 'Damla', 'Yucel', 'IST', '08.22.2011', '18','55')
DELETE FROM [vizeUE].[dbo].[Ogrenci] WHERE Ogrenci_No='16'

Örnek Uygulama:

Uygulanan örnekte tabloya eklenen Damla isimli öğrenci delete komutu kullanılarak
Ogrenci tablosundan silinmiştir.
CREATE TABLE KOMUTU

Yeni bir tablo oluşturmak için kullanılan komuttur.

KOMUT:

CREATE DATABASE OgrenciSistemi


USE vizeUE

CREATE TABLE Bilisim


(
Ders_Adi varchar(25),
Ogretim_Gorevlisi varchar(25),
Vize_Notu int,
Final_Notu int,
Ortalama int,

)
Örnek Uygulama:

Veritabanında yukarıdaki kodları kullanarak Bilisim isimli yeni bir tablo oluşturduk.
Komut Command(s) completed successfully; yani komut başarıyla tamamlandı
mesajını ekranda görmemiz gerekir. Sol taraftaki pencereyi yenilediğimizde
oluşturduğumuz [Link] isimli tabloyu görebiliriz.
ALTER TABLE KOMUTU

Veritabanında var olan nesneler üzerinde yapılacak değişiklikler için


kullanılan komuttur. Yeni tasarlanan bir veritabanında değişiklik yapmak
çok güç değildir. Çünkü içindeki veriler az ya da test amaçlıdır. Ama aktif
bir şekilde kullanılan ve içinde milyonlarca veri olan bir veritabanında
değişiklik yapmak oldukça zordur. Verilerin yok olmaması için çok dikkatli
olmak gerekir. Bu konuda Alter table ifadesi kolaylık sağlamak amacıyla
kullanılır. Alter table komutu kullanılarak Tablonun yapısı ile ilgili bilgilerin
değiştirilmesi sağlanabilir. Var olan tabloya yeni alan ekleyebilir, alan silebilir,
alan adı değiştirebilir ya da ilgili kısıtlamaları silebiliriz.

KOMUT:

ALTER TABLE [vizeUE].[dbo].[OgrenciDers] ADD Ogretim_Gorevlisi char

Örnek Uygulama:

Uygulanan örnekte görüldüğü üzere veritabanımızda bulunan OgrenciDers


isimli tablonun içerisine derse girecek Öğretim Görevlilerin isimlerinin
yazıldığı Ogretim_Gorevlisi alanı açılmıştır. Command(s) completed
successfully mesajı ile komutun sağlıklı bir şekilde çalıştığını görebiliriz. Sol
taraftaki bölümde ekranı yinelediğimizde ise Tables bölümünün altında
bulunan dbo. OgrenciDers tablosunu açtığımızda yeni kolonumuzun
eklendiğini görüyoruz.
DROP TABLE KOMUTU

DROP TABLE veritabanından tabloları kaldırır.

KOMUT:

DROP TABLE [Gazi_Egitim].[dbo].[BilisimBolumu]

Örnek Uygulama:

Uygulanan örnekte görüldüğü üzere veritabanımızda bir önceki örnekte


oluşturmuş olduğumuz BilisimBolumu isimli tabloyu drop table komutu ile sildik.
CREATIVE VIEW KOMUTU

Sanal, yani hayali tablo oluşturur.

KOMUT:

CREATE VIEW KredisiUctenYuksek


AS
SELECT Ders_Kodu,Ders_Adi FROM [Link] WHERE Kredisi>3

Örnek Uygulama:

Uygulanan örnekte görüldüğü üzere KredisiUctenYuksek öğrencileri listelemek üzere


create view komutuyla sanal bir tablo oluşturduk.
Sol tarafta views bölümünde oluşturduğumuz sanal tablo görünmektedir
CREATE PROCEDURE

Kullanıcı tanımlı fonksiyonlara procedure denir. Create Procedure komutu Procedure


yaratmayı sağlar.

KOMUT:

CREATE PROCEDURE spOgrenci_1


@Ogrenci_No int,
@Adi nchar(10),
@Soyadi nvarchar(50),
@Bolumu nvarchar(50),
@Kayit_Tarihi date,
@Yas int,
@Ortalama int
AS
BEGIN
BEGIN TRY
BEGIN TRAN
INSERT INTO [vizeUE].[dbo].[Ogrenci] (Ogrenci_No, Adi, Soyadi, Bolumu,
Kayit_Tarihi, Yas, Ortalama) VALUES ('16', 'Demet', 'Yucel', 'IST', '08.22.2011', '18','55')
UPDATE [vizeUE].[dbo].[Ogrenci] SET Adi='Damla' WHERE Ogrenci_No='16'
COMMIT TRAN
SELECT 0 AS Result, 'Giriş Başarılı' AS ACIKLAMA
END TRY
BEGIN CATCH
IF @@TRANCOUNT>0
BEGIN
ROLLBACK TRAN
Select 1 AS Result, ERROR_MESSAGE()AS MSG
END
END CATCH
END
GO
Örnek Uygulama:

Uygulanan örnekte görüldüğü üzere Create Procedure komutunu kullanarak prosedürü


oluşturduk. Sol taraftaki ekranda Stored Procedure altında oluşturduğumuz procedure
görülmektedir.
CREATE TRIGGER KOMUTU

Klasik manada triggerlar veri degisiminin hemen ardından devreye giren ozel bir
storeprocedure gibi yapılardır . ( insert update delete ) işlemlerinden sonra devreye
girerler . Trigger mantıgında karsımıza iki adet sözde tablolar gelmekdedir ve biz bu
sözde tablolar uzerinde bazı işlemlerimizi yaparız Sözde tablolarımız inserted ve
deleted tablolarımızdır .

inserted : veri eklendigi zaman insert veya update komutunun yeni eklenen verisinde .
deleted : veri silindigi zaman delete veya update komutunun eski verisinde ...

Trigger’lar stored procedure’lara benzemektedir. Prosedür benzeri bir yapıdadır.


Prosedürler gibi çalışırlar. Create Trigger komutu da Trigger yaratmak için kullanılır.

KOMUT:

CREATE TRIGGER trgOgrenci_1


ON Ogrenci
AFTER INSERT
AS
BEGIN

SET NOCOUNT ON;


DECLARE @Ogrenci_No int
DECLARE @Adi nchar(10)
SELECT @Ogrenci_No=Ogrenci_No, @Adi=Adi FROM inserted

END
GO

Örnek Uygulama:

Uygulanan örnekte görüldüğü üzere Create Trigger komutunu kullanarak trigger


oluşturuldu . Sol taraftaki ekranda, ekranı yinelediğimizde Database Triggers
bölümünün altında oluşturduğumuz trigger görülmektedir.
CREATE FUNCTION

Functionlar parametre alıp geriye bir değer veya tablo döndüren kurallardır

KOMUT:

CREATE FUNCTION fncDersKredsiTotal


(@KrediID varchar)

RETURNS int

BEGIN

DECLARE @Ders_Adi char

SELECT @KrediID = @Ders_Adi

FROM Ders WHERE Kredisi=3

RETURN @KrediID ;

END;

GO
Örnek Uygulama:

Oluşturulan Fonksiyon sağ tarafta fonksiyonlarn altında görülmektedir.

You might also like