EXISTS VE NOT EXISTS fonksiyonları

Benzer belgeler
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.

SQL TRIGGERS (Tetikleyiciler)

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

Veri Tabanı ve Yönetimi

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

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 ve YÖNETİMİ

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

STORED PROCEDURE LER (Saklı Yordamlar)

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

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.

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

KULLANICI TANIMLI FONKSİYONLAR (Devam)

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

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

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

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

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

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

«BM364» Veritabanı Uygulamaları

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

KULLANICI TANIMLI FONKSİYONLAR (Devam)

PostgreSQL ve PL/pgSQL

KULLANICI TANIMLI FONKSİYONLAR

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

PostgreSQL ve PL/pgSQL

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

SQL Komutları (2) Uzm. Murat YAZICI

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

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

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

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

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

Sayfa 1 / 8. Tabo yapıları

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

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

VERİ TABANI YÖNETİM SİSTEMLERİ II. 3. SQL PROGRAMLAMA BLOKLARI ve AKIŞ DENETİMİ

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

VERİTABANI. SQL (Structured Query Language)

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

BÖLÜM -6: VERİLERİ DEĞİŞTİRMEK

Güz Yarıyılı MT 487 Bilgisayarda Veri Yapıları Final Çalışma Soruları

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

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

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

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

VERİ TABANI ve YÖNETİMİ

15 Aralık 2011 / Perşembe.

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi

SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır.

Oracle da kullanılan veri tipleri:

SQL Kod ile Tablo Oluşturma

BMB202. Veritabanı Yönetimi Ders 8. Stored Procedure (Saklı Yordamlar), Trigger (Tetikleyiciler), Transactions, Yetkilendirme (Authorization)

MOBİL UYGULAMA GELİŞTİRME

YAPISAL SORGULAMA DİLİ (SQL)

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Veri Tabanı SQL Server ve Management Studio kurulum linkleri:

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.

BÖLÜM- 13: ALT SORGULAR İLE VERİ İŞLEME

Çok tablolu sorgulamalar

SQL Stored Procedure

C#.Net & Linq (Language Integrated Query)

VERİ TABANI YÖNETİM SİSTEMİ 2

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

Veri Tabanı II Alt Sorgular

PostgreSQL Veritabanı Sunucusu. 8.2 neler getiriyor?

ACCESS PLATFORMUNDA SQL

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

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

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.

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

1.adım : Sql serverda Stored procedure oluşturmamız gerekiyor. Şu adımları izliyoruz.

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

«BM364» Veritabanı Uygulamaları

İNTERNET PROGRAMCILIĞI DERSİ

1. GİRİŞ 2. YENİ TABLO EKLEME

ADO.NET ve DATASET. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

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

Veri Tabanı Programlamaya Giriş

Veri tabanı içinde bulunan tablolardakibazı sütunlarda bulunan bilgilerin, herkes tarafından görülmesi istenmeyebilir.

Microsoft SQL Server Sorgulama

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

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

ADO.NET. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

SELÇUK ÜNİVERSİTESİ BOZKIR MESLEK YÜKSEKOKULU VERİTABANI-II DERSİ FİNAL SINAVI

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

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

Veritabanı Tasarımı. Veritabanı Hareketleri

PHP ile İnternet Programlama

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

VERİTABANI Veritabanı Yönetimi

Hurda Tanımla. Hurda Girişi Yap. Teçhizatın Son Sökülme Bilgilerini İş Takip Sisteminden Al

MySqlConnection connection; MySqlCommand command; MySqlDataReader reader; MySqlDataAdapter adapter; DataTable table;

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

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

Veri Bütünlüğü ve Constraint ler. Veritabanı 1

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

Veritabanında Saklı Yordamlar: Bir Veritabanı Tasarımı ve Web Uygulaması

FABREKA YAZILIM ELEKTRONİK DANIŞMANLIK TİC. LTD. ŞTİ.

Transkript:

EXISTS VE NOT EXISTS fonksiyonları Kullanımı EXISTS (sorgu) : eğer sorgudan bir yada daha fazla kayıt dönerse değeri true (doğru), hiç kayıt dönmez ise değeri false (yanlış) tır. NOT EXISTS : exists fonksiyonunun olumsuzudur. IF EXISTS (select * from Satis where Sipno=1) PRINT Kayıt var ELSE PRINT Kayıt yok 1

TRIGGER Bir çeşit prosedürdür. Ancak çalışması için, bir tabloya veri eklenmesi veya veri değişmesi veri silinmesi yeterlidir. Bu üç durumdan biri gerçekleştiğinde otomatik olarak çalışır. Herhangi bir tablo üzerinde yapılan, insert, delete, update işlemi sonrasında otomatik olarak aynı tablo veya başka bir tabloda veri ekleme, veri değiştirme veya veri silme işlemi yapılmak istendiğinde trigger kullanılır. 2 çeşit trigger var * After trigger: insert,i update ve delete işlemi sonrasında çalışan trigger * instead of trigger : insert, update, delete işlemi öncesinde çalışır. Örnek : 2

Satış tablosuna yeni veri girildiğinde çalışacak ve veri eklendi mesajı verecek bir trigger yazınız. CREATE TRIGGER trgsatisgir ON Satis AFTER insert AS PRINT Veri eklendi Çalıştırmak için aşağıdaki kodu yazalım INSERT Satis (SipNo, UrunNo, miktar, GirisCikis) VALUES (100,'G',15,0) Son Silinen, değişen veya eklenen bilgiye erişmek Bu verilere erişmek için iki tane sanal tablo kullanılırç inserted tablosu deleted tablosu Bu tablolar içinde neler bulunur? 3

Bir tabloya insert deyimi ile veri girildiğinde, girilen veri inserted tablosunda bulunur. Bir tabloda delete deyimi ile veri silindiğinde, silinen bilgiler deleted tablosunda bulunur Bir tabloda update deyimi ile veri değiştiğinde, verinin ilk hali deleted tablosunda, son hali inserted tablosunda bulunur. Örnek: Satis tablosu üzerinde çalışan bir trigger yazınız. Bu trigger insert, update ve delete durumunda çalışsın ve inserted, deleted tablosu içeriğini listelesin. CREATE TRIGGER trgsatis ON Satis AFTER insert, update, delete AS BEGIN SELECT * FROM inserted 4

SELECT * FROM deleted END Aşağıdaki kodalrı yazarak triggerin çalışmasını sağlayalım INSERT Satis(SipNo,UrunNo, miktar) values (2500,'WWW',1750) UPDATE Satis SET UrunNo='tttt',miktar=1750 where SipNo=2500 DELETE FROM Satis WHERE SipNo=2500 Örnek: Satış tablosuna veri girildiğinde çalışan bir trigger yazınız. Bu trigger girilen urun, ürün tablosunda yok ise bu kaydı geri alsın. Trigger içinde çalışan kodu yazalım. 5

-- UrunNo değişkenini tanımlayalım DECLARE @UrunNo varchar(10) -- son girilen kayıttak, ürünno bilgisini -- @UrunNo değişkenine atayalım SELECT @UrunNo=UrunNo from inserted -- @UrunNo ürün tablosunda yok mu? IF NOT EXISTS (select * from urun whereurunno=@urunno) BEGIN -- Geri al ve mesaj ver Print @UrunNo + Urun tablosunda yok ROLLBACK TRAN END Tümünü tek kod halinde yazalım. 6

CREATE TRIGGER trgsatisgir ON Satis AFTER insert AS BEGIN -- Değişken tanımı DECLARE @UrunNo varchar(10) -- Değişkene son girilen ürünü ata SELECT @UrunNo=UrunNo from inserted IF not exists(select * from Urun where UrunNo=@UrunNo) Begin Print @UrunNo+ Urun tablosunda yok ROLLBACK TRAN end END Yukarıdaki trigger ın çalışması için aşağıdaki kod çalıştıralım 7

INSERT Satis(SipNo,UrunNo, miktar) values (2900,'B',1750) http://uygulama.kilicaslan.nom.tr 8