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.

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.

VERİ TABANI ve YÖNETİMİ

STORED PROCEDURE LER (Saklı Yordamlar)

«BM364» Veritabanı Uygulamaları

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

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

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?

Sayfa 1 / 8. Tabo yapıları

Oracle da kullanılan veri tipleri:

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

SQL Stored Procedure

EXISTS VE NOT EXISTS fonksiyonları

Veritabanına Uygulanması

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

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

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

Öğ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:

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

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

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

SQL Komutları (2) Uzm. Murat YAZICI

PostgreSQL ve PL/pgSQL

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

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

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

PostgreSQL ve PL/pgSQL

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

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

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

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

Veri Tabanı-I 9.Hafta

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

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

YAPISAL SORGULAMA DİLİ (SQL)

ACCESS PLATFORMUNDA SQL

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

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

SQL TRIGGERS (Tetikleyiciler)

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

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

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

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

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

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.

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

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

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

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

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

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

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

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

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

SQL e Giriş. Uzm. Murat YAZICI

VERİTABANI. SQL (Structured Query Language)

Veri Tabanı ve Yönetimi

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

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

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

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

PostgreSQL Veritabanı Sunucusu. 8.2 neler getiriyor?

SQL Kod ile Tablo Oluşturma

Üst Düzey Programlama

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

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

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

EBE-368 Veri Tabanı Yönetim Sistemleri İlişkisel Model (The Relational Model)

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

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

Mysql Veritabanı Komutları

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

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

SQL Query and Table Application

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

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

PL/pgSQL SQL Yordamsal Dili

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

Veri Tabanı Programlamaya Giriş

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

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

SQL'e Giriş 2. CREATE TABLE tabloadı (kolon isimleri ve veri türleri) (BOLUM_NO NUMBER, BOLUM_ADI CHAR(10));

VERİTABANI Veritabanı Yönetimi

FIRAT ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BİLGİSAYAR SİSTEMLERİ LABORATUVARI- DENEY NO:3 CLIENT SERVER ORTAMINDA VERİTABANI KULLANIMI

YAPISAL SORGULAMA DİLİ. BARIŞ ARIBURNU barisariburnu.com

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;

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

TBİL UYGULAMA I DERSİ. Mobil Barkotlu Depo Programı Projesi PROJESİ Kurulum Rehberi

C#.Net & Linq (Language Integrated Query)

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

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

VERİTABANI ve YÖNETİMİ

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

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 verilen gruptaki müşteri sayısını veren bir fonksiyon oluşturunuz. Çö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 -- 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. View den farklı olarak dışarıdan parametre alır. Genel ifade: CREATE FUNCTION fonksiyonadi (varsaparametreler) RETURNS TABLE RETURN Select ifadesi 2

Örnek: Tüm müşterileri listeleyen bir view oluşturunuz. Ve bu view i sorgulayınız. CREATE VIEW vwmusteri SELECT * FROM musteri Sorgulayalım SELECT * FROM vwmusteri Tüm müşterileri listeleyen fonksiyon oluşturunuz ve bu fonksiyonu sorgulayınız. CREATE FUNCTION fnmusteri () RETURNS TABLE RETURN select * from musteri Sorgulayalım. SELECT * FROM dbo.fnmusteri() Tüm müşterileri listeyen stored procedure oluşturunuz. Bu prosedürü çalıştırınız. 3

CREATE PROCEDURE spmusteri SELECT * FROM musteri go Çalıştıralım. EXEC spmusteri Yukarıdaki view, fonksiyon, prosedürden faydalanarak 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 -- fnmusteri fonksiyonundan A ve C grubundaki müşteriler 4

SELECT * FROM fnmusteri() WHERE Grubu= A SELECT * FROM fnmusteri() WHERE Grubu= C -- spmusteri prosedüründen A ve C grubundaki müşteriler. spmusteri prosedüründen A ve C grundaki müşteriler sorgulanamaz, listelenemez. Prosedürler select içinde bulunamaz. Yukarıdaki view, fonksiyon ve prosedüre grubu parametresi tanımlayınız ve A ve C grubundaki müşterileri listeleyiniz. -- view e parametre tanımlayalım. View e parametre tanımlanamaz. -- fonksiyona parametre tanımlayalım ALTER FUNCTION fnmusteri (@grubu varchar(10)) RETURNS TABLE 5

RETURN select * from musteri where grubu=@grubu -- A grubundaki müşteriler SELECT * FROM fnmusteri('a') -- C grubundaki müşteriler SELECT * FROM fnmusteri('c') -- prosedüre parametre tanımlayalım. ALTER PROCEDURE spmusteri @grubu varchar(10) SELECT * FROM musteri WHERE grubu=@grubu Bu prosedürden A ve C grubundaki müşteriler EXEC spmusteri A 6

EXEC spmusteri C ÇOKLU İFADE İLE TABLO DÖNDÜREN FONKSİYONLAR Bu türden fonksiyonlar bir öncekine benzer. Farkı dışarıya değer döndüren tablo yapısındaki değişkene fonksiyon içerinde muhtelif defa veri ekleme işlemi yapılabilir. Genel ifade CREATE FUNCTION fonksiyonadi (varsaparametreler) RETURNS @deger TABLE (tablo tanımı) BEGIN Sql deyimleri INSERT INTO @deger selectifadesi INSERT INTO @deger selectifadesi INSERT INTO @deger selectifadesi.. RETURN 7

END Örnek: Personel ve müsteri tablolarını birbirinin devamı olarak birleştiren bir fonksiyon yazınız. Bu fonksiyoda aşağıdaki kolonlar bulunsun Numara Adi Soyadi Tipi Tipi : Musteri ve Personel Çözüm: CREATE FUNCTION fnmusteripesonel() 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 8

INSERT INTO @deger SELECT str(mno),adi,soyadi, MUSTERİ from musteri RETURN END Yukarıdaki fonksiyonu sorgulayalım SELECT * FROM fnmusteripesonel() 9