-- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak yazılan satırın önüne konulması yeterlidir.



Benzer belgeler
Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri

SQL PROGRAMLAMA. Bir batch, bir arada bulunan bir dizi SQL deyimidir. Batch ayıracı GO deyimidir.

EXISTS VE NOT EXISTS fonksiyonları

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

Veri Tabanı SQL Server ve Management Studio kurulum linkleri:

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1

STORED PROCEDURE LER (Saklı Yordamlar)

SQL Komutları (2) Uzm. Murat YAZICI

«BM364» Veritabanı Uygulamaları

Çok tablolu sorgulamalar

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir. Çok satır dönerse hata verir.

VERİTABANI. SQL (Structured Query Language)

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

Oracle da kullanılan veri tipleri:

SQL TRIGGERS (Tetikleyiciler)

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız.

08221 Veri Tabanı II. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Eki Öğr. Gör. Murat KEÇECĠOĞLU

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu

SQL'e Giriş. SELECT Deyimi. SQL Komutları. 1. DDL (Data Definition Language - Veri Tanımlama Dili)

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

T-SQL NEDİR? Microsoft T-SQL Transact-SQL

Bir çeşit prosedür. Ancak bu prosedür kendiliğinden çalışır. Çalışması için tabloya veri eklemek, veri silmek, veri değiştirmek yeterlidir.

TEMEL SQL SORGU ÖRNEKLERİ. Yukarıdaki sorguyu yazıp çalıştırdığımızda db_market adında bir veritabanı oluşturulur.

SORGULAR VE ÇEŞİTLERİ II

YAPISAL SORGULAMA DİLİ (SQL)

TRIGGER. Trigger lar, tablo üzerinde tanımlanabilen ve bu tablo üzerinde bir işlem gerçekleştiğinde tetiklenen programlama ögeleridir.

Nesneler üzerinde değişiklik yapmak için kullanılır. Veri tabanındaki nesnelerin oluşturulabilmesi için CREATE komutu kullanılır.

SQL e Giriş. Uzm. Murat YAZICI

Tablolar Arası İlşikiler ve Alan Özellikleri. Şekil 1. Magaza veritabanının tabloları ve tablolar arasındaki ilişkiler

Aşağıdaki tabloyu inceleyin. Yeni kayıt girme, var olan bir kaydı silme veya güncelleme işlemlerini bu tabloya göre yapacağız.

15 Aralık 2011 / Perşembe.

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

//bu ifadelerin ikisi de gerçekleşiyorsa havale işlemi gerçekleşmiştir fakat 1 tanesini çalışmazsa havale olmamıştır.

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir?

SQL'e Giriş. SELECT Deyimi. SQL Komutları. Yardımcı Deyimler

Bölüm 4: DDL Veri Tanımlama Dili

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir, aksi durumda hata olur.

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri

Veri Tabanı ve Yönetimi

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız.

Veritabanına Giriş. Oğuzhan Ceylan. 19 Eylül 2011

Kullanıcı tanımlı fonksiyonlar SQL2000 ile gelen özelliklerden biridir. Fonksiyonlar tek bir değer veya tablo döndürmek için kullanılır.

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler

Ders Tanıtım Sunumu. Database Managegement II. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

3. Hafta Tablo İşlemleri BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri Kısıtlamalar (Constraints)

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301)

Veritabanına Uygulanması

SQL Deyimleri. Öğr.Gör.Volkan ALTINTAŞ Volkanaltintas.com

SQL Kod ile Tablo Oluşturma

Sayfa 1 / 8. Tabo yapıları

TESİ. indeks. söylenebilir?? bir ilişkidir d) Hiçbiri. veya somutlaştırılmış. düzeyidir? sağlayabilir? sına. d) Hepsi. olabilir? c) Verilerin d) Hepsi

KULLANICI TANIMLI FONKSİYONLAR

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

VERİ TABANI ve YÖNETİMİ

Fonksiyonlar istenilen deger tipinde dönüs yapabilir. INT, VARCHAR deger döndürebileceğiniz gibi bir tablo da döndürebilirsiniz.

BLG4134 Görsel Programlama III. Öğr. Grv. Aybike ŞİMŞEK

2- Total de 8000 byte yer tutup 4000 karakter olarak kullanabildiğimiz tip aşağıdakilerden hangisidir?

VERİTABANI ve YÖNETİMİ

3. Hafta Tablo İşlemleri BPR255 Veritabanı Yönetim. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri

KULLANICI TANIMLI FONKSİYONLAR (Devam)

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım.

KULLANICI TANIMLI FONKSİYONLAR (Devam)

VERİ TABANI YÖNETİM SİSTEMLERİ-II

Veritabanı sistemlerinde veri bütünlüğünü sağlayabilmek için CONSTRAINTS olarak adlandırılan bazı zorlayıcı ifadeler kullanılabilir.

PostgreSQL ve PL/pgSQL

Tetikleyiciler (TRIGGER) Tetikleyiciler ne zaman kullanılırlar. Ardı Sıra Tetikleyiciler (After Triggers) Örnek

ACCESS PLATFORMUNDA SQL

SUNGURLU MESLEK YÜKSEKOKULU 5. T-SQL-2

Veritabanı Tasarımı. Sütun Değerlerini Güncelleme ve Satırları Silme

Laboratuvar 2 Tek Kayıt Fonksiyonları

Veri Tabanı II Alt Sorgular

C#.Net & Linq (Language Integrated Query)

KDV Beyannamesinin ekinde verilen Kısmı Tevkifat Uygulaması Kapsamındaki İşlemlere Ait Bildirim, Muhasebe IV modülünden hazırlanabilir.

Cursor. Bir veri tipi olarak da ele alınabilen Transact-SQL Sunucu Cursor şu aşamalardan geçirilerek kullanılır.

İLERİ VERİTABANI SİSTEMLERİ SUAT ÜSTKAN

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

MT487_2005guz_final_cevaplar (cevaplar vurgulu ve koyu yazılmıştır)

SORGULAR. Öğr.Gör.Volkan Altıntaş

Veritabanı. SQL (Structured Query Language)

BAYİLERİMİZE ÖZEL. 13 Ağustos İlgili Modül/ler : Genel. İlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL

SQL Query and Table Application

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

VERİ TABANI YÖNETİM SİSTEMLERİ I

Veri Tabanı Programlamaya Giriş

VERİ TABANI ve YÖNETİMİ

VERİ TABANI YÖNETİM SİSTEMLERİ II. 5. SQL PROGRAMLAMADA CURSOR (İMLEÇ) ve TRIGGERS (TETİKLEMELER)

DML işlemleri. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı May Öğr. Gör. Murat KEÇECĠOĞLU

BMB202. Veritabanı Yönetimi Ders 5. İlişkisel Cebir ve SQL. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

TETİKLEYİCİ. Tetikleyici Ne Zaman Kullanılır? Çeşitli amaçlara uygun olarak tetikleyiciler kullanılabilir.

Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz.

Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir

1. Araçların tüm bilgilerini ve bağlı oldukları kiralama noktasının adres ve telefonunu içeren tam listesi:

BİLİŞİM TEKNOLOJİSİNİN TEMELLERİ DERSİ

Php Programlama Dili MySQL Uygulamaları

BÖLÜM- 11: BÜYÜK VERİ KÜMELERİ

Mysql Veritabanı Komutları

Transkript:

T-SQL KODLARİ İÇERİSİNE AÇIKLAMA EKLEME Bir veya daha fazla satırın çalıştırılmasını Önlemek için veya /*... */" ifadeleri kullanılır. -- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak yazılan satırın önüne konulması yeterlidir. "/*--*/" İşaretleri bir veya birden fazla satır içeren açıklamalarda kullanılır. Açıklama bilgisinin başına /* ve açıklamanın bittiği yere */ yazılması yeterlidir. Örnek: -- Personel tablosundaki kayıtları listeleyelim SELECT * FROM personel /* Aşağıdaki kodlar yardımıyla iki değişken Tanımlanmış ve değişkenlere değer atanmıştır.*/ DECLARE @d1 INT,@d2 INT SET @d1=10 SET @d2=15 SİSTEM FONKSİYONLARI Aşağıdaki tabloda sistem değişkenlerinin bir kısmı verilmiştir.

Değişken İsmi @@ERROR @@ŞERVICENAME @@SERVERNAME @@VERSION @@LANGUAGE Açıklama Aktif bağlantılar için meydana gelen son hatanın hata numarasını içerir. Herhangi bir hata oluşmamışsa 0 değerini içerir. SQL Server'ın kullandığı ve register 'da kayıtlı olan windows servis ismini içerir. SQL Server'ın çalıştığı yerel sunucucunun ismini içerir, SQL Server'ın versiyonu hakkında bilgiler içerir. SQL Server İçin geçerli olan dili içerir. (us_english, Deutsch, Français, Dansk, Espanol, italiano, v.b,). @@LANGID SQL Server için geçerli olan dilin sayısal karşılığını içerir. 0 = İngilizce, 1 = Almanca, 2 = Fransızca... v.b. @@MAX_CONNECTIONS İzin verilen eşzamanlı maksimum bağlantı sayısını İçerir. @@SPID @@DATEFIRST @@ROWCOUNT @@CONNECTIONS @@CPU_BUSY @@IDLE @@PACK_RECEIVED @@PACK_SENT @@PACKET_ERRORS @@TOTAL_ERRORS @@TOTAL_READ @@TOTAL_WRITE Aktif kullanıcı için verilen oturum ID numarasını içerir. SQL Server İçin ayarlı olan haftanın ilk gününün sayısal karşılığını içerir. Default değeri 7'dir. 1 = Pazartesi, 2 =Salı, 3 = Çarşamba, 4 = Perşembe, 5 = Cuma, 6 =Cumartesi, 7 = Pazar Son kullanılan SQL İfadesi sonucunda etkilenen satır sayısını içerir. SQL Server'ın son çalışmasından itibaren kullanılan bağlantı sayısını içerir. SQL Server'ın son çalışmasından itibaren boş kalmadan çalıştığı süreyi milisaniye cinsinden içerir. SQL Server'ın son çalışmasından itibaren boş kaldığı süreyi milisaniye cinsinden içerir. SQL Server'ın son çalışmasından itibaren ağ üzerinden aldığı paketlerin sayısını içerir, SQL Server'ın son çalışmasından itibaren ağ üzerinden gönderdiği paketlerin sayısını içerir. SQL Server'ın son çalışmasından itibaren ağ üzerinden yapılan transferlerde meydana gelen hata sayısını içerir. SQL Server'ın son çalışmasından itibaren disk üzerinden okuma yazma işlemi yapılırken meydana gelen hata sayısını içerir. SQl- Server'ın son çalışmasından itibaren meydana gelen disk okuma işleminin sayısını içerir. SQL Server'ın son çalışmasından İtibaren meydana gelen diske yazma işleminin sayısını içerir. SELECT * FROM sys.messages

Örnek: SELECT 5/0 SELECT @@ERROR Meydana gelen hatayı açıklamasıyla birlikte görüntülemek için aşağıdaki SQL İfadesi kullanılır. SELECT 5/0 SELECT * FROM master.dbo.sysmessages WHERE error = @@ERROR Bu sorgu sonucunda oluşan hatanın kodu ve açıklaması Results penceresinde görüntülenecektir. Sorgu sonucunda oluşan son sütun(msglangid) SQL Server'ın kullanmış olduğu dili göstermektedir. error severity dlevel description msglangid 1 8134 16 0 Divide by zero error encountered 1033 Örnek: aşağıda verilen ifade SQL Server'ın sistem üzerinde kullanmış olduğu ismi verecektir. SELECT @@SERVICENAME Sorgu Sonucu SQLEXPRESS Örnek: Aşağıda verilen SQL ifadesi SQL Server'ın çalıştığı yerel sunucunun İsmi verecektir. SELECT @@SERVERNAME Sorgu Sonucu MY022\SQLEXPRESS Örnek: Aşağıdaki 5QL ifadesi SQL Server'ın kullanmış olduğu dili verecektir, SELECT @@LANGUAGE AS 'Kullanılan Dil' Sorgu Sonucu us_english Örnek: Aşağıdaki SQL ifadesi SQL Server'ın kullanmış olduğu dilin sayısal karşılığını verecektir, SELECT @@LANGID Sorgu Sonucu O SET LANGUAGE ifadesi kullanılarak dil ayarı değiştirilebilir, SET LANGUAGE 'turkish' SELECT @@LANGID Sorgu Sonucu 22

USE İLE VERİTABANI SEÇİMİ Yazılan SQL İfadelerinin hangi veritabanı üzerinde çalıştırılacağı kesinlikle seçilmelidir. Aksi durumda yazılan SQL ifadesi ile o anda kullanılan veritabanı alakasız olacağı için SQL ifadesi hata verecektir. SQL İfadeleri Management Studlo ile hazırlanıyorsa veritabanı görsel ara yüz üzerinden de seçilebilir. Aşağıdaki resimde veritabanı seçimi yapılacak alan gösterilmektedir. Kullanılacak ventabanını kodlar yardımıyla seçmek için USE ifadesi kullanılır. Kullanım Sekli USE veritabanı_adı Değişkenler Değişken tanımlama örneği; @deger1 ve @deger2 şeklindeki iki değişkenin değerlerini ve toplamını yazdırmak için aşağıdaki T-SQL yapısı kullanılır. DECLARE @deger1 INT, @deger2 INT, @toplam INT SET @deger1=125 SET @deger2=56 SET @toplam=@deger1+@deger2 PRINT 'Toplam Sonucu' PRINT '----------------------------' PRINT @toplam Toplam Sonucu ------------------------------------- 181 TABLO TİPİ DEĞİŞKENLER Tablonun değişken olarak tanımlanması Kullanım Sekli DECLARE @degişken_adi TABLE( degişken_adi veritipi, degisken_adi veritip, )

Tablo tipi değişkenler tanımlanırken veritabanı nesnesi olan tablolarda kullanılan CONSTARINT ifadeler kullanılabilir. Örneğin, ogr isminde tablo tipi değişken no ve ad isimlerinde iki değer tutuyor ve no değeri otomatik artıyorsa aşağıdaki tanımlanabilir. DECLARE @ogr TABLE( no INT IDENTITY(1,1), isim VARCHAR(20) ) Yukarıda gösterildiği şekilde elde edilen tablo tipi değişkenler diğer tablolarla birleştirilerek sorgulamalar yapılabilir. Örnek: no, adsoyad ve telefon bilgilerini içerecek, no değeri otomatik artacak ve adsoyad bilgisi NULL değer içermeyecek şekilde personel tablo değişkenini oluşturarak içerisine değer girişi yapalım. DECLARE @personel TABLE( no INT IDENTITY (1, 1), adsoyad VARCHAR(50) NOT NULL, telefon VARCHAR(15) ) INSERT into @personel VALUES ( Kemal Kok', '35612 ') INSERT INTO @personel VALUES ('Burak Türk','35613') SELECT * FROM @personel ORDER BY adsoyad no adsoyad telefon 2 Burak Türk 35613 1 Kemal Kok 35612 OUTPUT İŞLEMİ OUTPUT cümlesi INSERT, UPDATE, DELETE ve MERGE işlemleri sonrasında, işlemlerden etkilenen tüm kayıtlar hakkında bilgilere ulaşmak için kullanılır. Kullanım şekli UPDATE,INSERT,DELETE,MERGE Cümlesi OUTPUT Yapılacak_işlemler WHERE Şartlar Yapılacak işlemler kısmında INSERTED, DELETED gibi tablolar kullanılarak kayıtların eski ve yeni değerleri hakkındaki bilgilere ulaşılabilir, bu bilgiler tablolara insert edilebilir veya ekrana bastırılabilir. Kayıtlar üzerinde güncelleme geçmişi tutmak gibi işlemlerde işimize yarayabilecek bir yöntemdir.

INSERT UPDATE DELETE INSERTED Yeni eklenen kayıtlar Günceilenen kayıtlar - DELETED - Kayıtların eski durumu Silinen kayıtlar OUTPUT ifadesinin kullanım şekli aşağıda verilmiştir. İnsert Örneği DECLARE @eklenenler TABLE ( ad VARCHAR(20), soyad VARCHAR(20), maas MONEY) INSERT INTO tbl_personel(adi, soyadi,maas) OUTPUT INSERTED.adi,INSERTED.soyadi,INSERTED.maas VALUES ('Ali', 'Coşkun', 1500) INTO @eklenenler SELECT * FROM @eklenenler Delete Örneği DECLARE @silinenler TABLE ( ad VARCHAR(20), soyad VARCHAR(20), maas MONEY) DELETE FROM tbl_personel OUTPUT DELETED.adi,DELETED.soyadi,DELETED.maas INTO @silinenler WHERE per_id>24 SELECT * FROM @silinenler Update Örneği; DECLARE @degisiklik TABLE ( e_ad VARCHAR(20), e_soyad VARCHAR(20), e_maas MONEY, y_ad VARCHAR(20), y_soyad VARCHAR(20), y_maas MONEY) UPDATE tbl_personel SET maas = 1500 OUTPUT INSERTED.adi,INSERTED.soyadi,INSERTED.maas, DELETED.adi, DELETED.soyadi, DELETED.maas INTO @degisiklik (y_ad,y_soyad,y_maas,e_ad,e_soyad,e_maas) WHERE maas=1500 SELECT * FROM @degisiklik