KULLANICI TANIMLI FONKSİYONLAR (Devam)



Benzer belgeler
KULLANICI TANIMLI FONKSİYONLAR (Devam)

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.

KULLANICI TANIMLI FONKSİYONLAR

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

VERİ TABANI ve YÖNETİMİ

STORED PROCEDURE LER (Saklı Yordamlar)

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.

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

«BM364» Veritabanı Uygulamaları

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

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

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

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

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

Sayfa 1 / 8. Tabo yapıları

EXISTS VE NOT EXISTS fonksiyonları

Oracle da kullanılan veri tipleri:

SQL Stored Procedure

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

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

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.

Veri Tabanı SQL Server ve Management Studio kurulum linkleri:

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

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

PostgreSQL ve PL/pgSQL

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

Veritabanına Uygulanması

Örnek: HAFTA12B isimli bir kullanıcı tanımlayalım. Bu kullanıcıya gerekli yetkileri verelim.

PostgreSQL ve PL/pgSQL

SQL Komutları (2) Uzm. Murat YAZICI

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 VE MS SQL KOMUTLARI İLE İLGİLİ UYGULAMALAR

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

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

YAPISAL SORGULAMA DİLİ (SQL)

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

ACCESS PLATFORMUNDA SQL

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

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

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

SQL TRIGGERS (Tetikleyiciler)

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

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

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

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

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

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

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

Veri Tabanı-I 9.Hafta

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.

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

DĐNAMĐK ve STATĐK SQL KULLANMANIN PERFORMANSA ETKĐSĐ

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

VERİTABANI. SQL (Structured Query Language)

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

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

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

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Đ

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

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

Üst Düzey Programlama

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

MSSQL. 4. Hafta Uygulama - 1 BPR255 Veritabanı CREATE DATABASE OKUL GO USE OKUL GO

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

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

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

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

Mysql Veritabanı Komutları

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

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

SQL Kod ile Tablo Oluşturma

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

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

VERİ TABANI YÖNETİM SİSTEMLERİ II. 4. SQL PROGRAMLAMADA PROCEDURE ve FUNCTION

Veri Tabanı ve Yönetimi

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

1 - Adi A Harfi İle Biten Kişilerin Listesi İçin Hangisi Kullanılmalıdır? Select * From Kisiler Where Adi End A Select * From Kisiler Where Adi Like

PostgreSQL Veritabanı Sunucusu. 8.2 neler getiriyor?

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

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language)

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

VERİTABANI ve YÖNETİMİ

Veri Tabanı Programlamaya Giriş

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme

SQL Query and Table Application

Veritabanı. SQL (Structured Query Language)

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.

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

yeni_uye_kayit.ascx UserControl sayfamızda, kaydedilmek istenen üye eğer daha önce veritabanımızda kayıtlı ise bunu buldurup kullanıcıyı uyaralım;

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

C#.Net & Linq (Language Integrated Query)

PL/pgSQL SQL Yordamsal Dili

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

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

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

BÖLÜM -7: TABLOLARI OLUŞTURMA VE YÖNETME

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

Fiyat Farkı Faturası

Veri Tabanı II Alt Sorgular

Transkript:

KULLANICI TANIMLI FONKSİYONLAR (Devam) Skaler değerli fonksiyon örneği: Parametre müşteri grubu olacak, eğer grubu parametresi değeri NULL olursa, tüm müşteri sayısını, NULL değilse girilen gruptaki müşteri sayısını veren bir fonksiyon oluşturunuz ve fonksiyonu sorgulayınız. Çözüm: CREATE FUNCTION fnmusterisayisi (@Grubu varchar(10)) RETURNS int BEGIN DECLARE @sayi int IF @Grubu IS NULL SELECT @sayi=count(*) from musteri ELSE SELECT @sayi=count(*) from musteri where Grubu=@Grubu 1

RETURN @sayi END Yukarıdaki kodu çalıştıralım. -- Tüm müşteri sayısı SELECT dbo.fnmusterisayisi(null) -- A grubundaki müşteri sayısı SELECT dbo.fnmusterisayisi( A ) -- C grubundaki müşteri sayısı SELECT dbo.fnmusterisayisi( C ) TABLO DÖNDÜREN FONKSİYONLAR Bu tip fonksiyonlar viewlere çok benzerler. Bir tek select ifadesi içerir. Bu ifadenin sonucunu gösterir. Viewden farklı olarak dışarıdan parametre alır. Genel ifadesi: CREATE FUNCTION fonksiyonadi (varsaparametreler) RETURNS TABLE RETURN Select ifadesi Go 2

Örnek: Tüm müşterileri listeleyen bir view oluşturunuz. CREATE VIEW vwmusteri SELECT * FROM musteri Go Viewi sorgulayalım. SELECT * FROM vwmusteri 3

Tüm müşterileri listeleyen fonksiyon oluşturunuz. CREATE FUNCTION fnmusteri() RETURNS TABLE RETURN select * from musteri Go Bu fonksiyonu sorgulayalım. SELECT * FROM fnmusteri() 4

Tablo döndüren fonksiyonların isimlerinin önünde dbo. yazılmasına gerek yoktur. Tüm müşterileri listeleyen stored prosedure oluşturunuz. CREATE PROCEDURE spmusteri SELECT * FROM musteri Go Prosedürü çalıştıralım EXEC spmusteri 5

Yukarıdaki view, fonksiyon ve prosedürü kullanarak A ve C grubundaki müşterileri ayrı ayrı listeleyiniz. --vwmusteri viewinden A ve C grubundaki müşteriler. SELECT * FROM vwmusteri WHERE Grubu= A SELECT * FROM vwmusteri WHERE Grubu = C 6

--fnmusteri fonksiyonundan A ve C grubundaki müşteriler SELECT * FROM fnmusteri() WHERE Grubu= A SELECT * FROM fnmusteri() WHERE Grubu= C 7

-- spmusteri prosedüründen A ve C grubundaki müşteriler. spmusteri prosedüründen A ve C grubundaki müşteriler sorgulanamaz, listelenemez. Prosedürler select içinde kullanılamaz. Yukarıdaki view, fonksiyon ve prosedüre grubu parametresi tanımlayınız ve A ve C grubundaki müşterileri listeleyiniz. Çözüm: -- view e parametre tanımlayalım. View e parametre tanımlanamaz. 8

-- fonksiyona parametre tanımlayalım. ALTER FUNCTION fnmusteri (@Grubu varchar(10)) RETURNS TABLE RETURN select * from musteri where Grubu=@Grubu Go -- A grubundaki müşteriler SELECT * FROM fnmusteri( A ) -- C Grubundaki müşteriler SELECT * FROM fnmusteri( C ) 9

spmusteri Prosedürüne parametre tanımlayalım. ALTER PROCEDURE spmusteri @Grubu varchar(10) SELECT * FROM musteri WHERE Grubu=@Grubu Go -- A ve C grubundaki müşteriler EXEC spmusteri A EXEC spmusteri C 10

ÇOKLU İFADE İLE TABLO DÖNDÜREN FONKSİYONLAR Bu türden fonksiyonlar bir önceki benzerdir. Farkı dışarıya değer döndüren tablo yapısındaki değişkene fonksiyon içersinde muhtelif defalar veri ekleme işlemi yapılır. Genel ifade: CREATE FUNCTION fonksiyonadi (varsaparametreler) RETURNS @deger TABLE (TabloTanım) 11

BEGIN Sql deyimleri insert into @deger selectifadesi insert into @deger selectifadesi RETURN END Örnek: Personel ve müşteri tablolarını birbirinin devamı olarak birleştiren bir fonksiyon yazınız. Bu fonksiyonda aşağıdaki kolonlar bulunsun. Numara Adi Soyadi Tipi ---------- ---- -------- ---- Tipi: personel ve müşteri 12

Çözüm: CREATE FUNCTION fnmusteripersonel() RETURNS @deger TABLE (Numara varchar(10), Adi varchar(20), Soyadi varchar(20),tipi varchar(10) ) BEGIN insert into @deger SELECT SicilNo,Ad, Soyad, Personel FROM Personel insert into @deger SELECT str(mno), Adi, Soyadi, Müşteri FROM musteri RETURN END Yukarıdaki fonksiyonu sorgulayalım SELECT * FROM fnmusteripersonel() 13

14