FONKSİYONLAR İbrahim Onur Sığırcı.

Slides:



Advertisements
Benzer bir sunumlar
Stored Procedure Öğr.Gör.Metin Akbulut.
Advertisements

T sql-diğer komutlar Metin Akbulut.
SQL Structured Query Language
PL/SQL üzerinden Web Sayfası üretmek
Kontrol Çevrimleri FOR WHILE DO-WHILE IF-ELSE SWITCH-CASE-DEFAULT
VERİ TABANI YÖNETİMİ Ders 11: PL/SQL’e Giriş
SQL de Değişken Tanımlama
SQL Komutlar 5 Sibel SOMYÜREK.
VERİ TABANI ve YÖNETİMİ
T-SQL-2.Konu Akış Kontrolleri.
VeriTabanı Uygulama. Tabloları yaratmak için MySQL komutları.
Tetikleyici. Nedir? Bir tablo üzerinde Ekleme silme ve güncellemeye bağlı olarak tetiklenip çalışan SQL kodlarıdır. Genel amacı veri bütünlüğünü korumaktır.
Departman ve Personel Tablosu Soruları
ÖRNEKLER. musteri Id adi soyadi mus_satis Id barkod adet Urunlar barkod urun_adi kodu fiyati Stok_hareket tarih barkod gelen giden.
SQL de Değişken Tanımlama
Ses Kontrol Metodlar ile ilgili son birkaç söz Tekrar: Programlama için başlıca 3 model.
VeriTabanı Uygulama.
PROGRAM KONTROL VE DÖNGÜ DEYİMLERİ
SQL SERVER STORED PROCEDURE
SQL Komutları (2) Uzm. Murat YAZICI.
FONKSİYONLAR İbrahim Onur Sığırcı.
RAISE RECORD/CURSOR TRIGGER
Bilgisayar Mühendisliği Bölümü
4. KONTROL VE DÖNGÜ KOMUTLARI
Python Aslı Ergün.
Veri Tabanı Yönetim Sistemleri 2 Ders 5 PL/SQL'e Giriş
Kabuk Programlama Shell Scripting(bash)
SQL’ e Giriş Uzm. Murat YAZICI.
Bilgisayar Mühendisliği Bölümü
SİSTEM VERİTABANLARI. Sistem veritabanlarını tanıma. Kendi Login’imizi oluşturma Neler İşleyeceğiz?
K ıSıT -V ıEW -S EQUENCE U NıON -I NTERSECTıON -E XCEPT E XıSTS -I N İbrahim Onur Sığırcı.
C OMPANY DB / Ö RNEKLER İbrahim Onur Sığırcı. İ LIŞKI T ABLOLARı idfnamelnamebdate AhmetDemir MehmetBakır AyşeTunç1994.
Veri Tabanı Yönetimi Dersi 7. Laboratuvarı Arş. Gör. Pınar CİHAN.
Veri Tabanı Yönetimi Dersi 8. Laboratuvarı Arş. Gör. Pınar CİHAN.
S ORGU / DML / DDL KOMUTLARı İbrahim Onur Sığırcı.
Veri Tabanı Yönetimi Dersi 2. Laboratuvarı Arş. Gör. Pınar CİHAN.
Veri Tabanı Yönetimi Dersi 4. Laboratuvarı Arş. Gör. Pınar CİHAN.
Veri Tabanı Yönetim Sistemleri 2 Ders 6 PL/SQL Ek Bilgiler Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü.
Veri Tabanı Yönetim Sistemleri 2 Ders 5 PL/SQL'e Giriş, Prosedür ve Fonksiyonlar Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
GROUP BY HAVING ORDER BY İbrahim Onur Sığırcı. Ö RNEK 1 – G RUP F ONKSIYONLARı * «Sales» departmanında kaç kişinin çalıştığını, toplam maaşlarını, en.
C dili kullanıcıya kendi ihtiyacı olan bir fonksiyonu yazma imkanı vermiştir. Bir sayının faktöriyelini almaya ihtiyaç duyduğumuzu ve aynı zamanda asal.
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı Arş. Gör. Pınar CİHAN.
Veri Tabanı Yönetimi Dersi 4. Laboratuvarı Constraint-View-Sequence Union-Intersection-Except Exısts-In Arş. Gör. Pınar CİHAN.
Veri Tabanı Yönetimi Dersi 5
Bilgisayar Mühendisliği Bölümü
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı
Bilgisayar Mühendisliği Bölümü
Veri Tabanı Yönetim Sistemleri 2 Ders 6 PL/SQL Ek Bilgiler
Veri Tabanı Yönetimi Dersi 7. Laboratuvarı
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Veri Tabanı Yönetimi Dersi 8. Laboratuvarı
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
TETİKLEYİCİLER ve HATA KONTROLÜ
14.DERS Örnekler, Sorular BUKET DOĞAN.
SQL SERVER STORED PROCEDURE
VERİ TABANI SQL (STRUCTURED QUERY LANGUAGE) SAVAŞ TUNÇER.
Excel’de VBA Programlama (Visual Basic Application)
PINAR KARTALO Ğ LU.  Belirli sayıda i ş lemlerin tekrarlanması için kullanılan döngülerdir. for döngüleri ba ş langıç ve biti ş de ğ erleri arasında.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
GROUP BY HAVING ORDER BY LIMIT
Sorgu / dml / ddl komutları
RAISE RECORD/CURSOR TRIGGER
Stored Procedure Öğr.Gör.Metin Akbulut.
SQL Server - Triggers.
SQL Server - Stored Procedures
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-4-DML
Sunum transkripti:

FONKSİYONLAR İbrahim Onur Sığırcı

Postresql prosedür diller PL/pgSQL PL/TcL PL/Perl PL/Phyton CREATE LANGUAGE plpgsql

Fonksiyonlarin tanimlanmasi CREATE FUNCTION fonksiyon_adı (parametreler) RETURNS çıktının veri tipi AS ' DECLARE tanımlamalar; BEGIN komutlar; RETURN çıktı değeri; END; ' LANGUAGE 'plpgsql';

Declare DECLARE isim tür := ilk_değer; user_id INTEGER; quantity NUMERIC; url VARCHAR(20); my_var tablo.sutunismi%TYPE;

Örnek – 1 Girdi olarak verilen 2 sayının toplamını bulan fonksiyonu yazınız ve (22,63) parametreleri için çalıştırınız. CREATE FUNCTION ornek1 (num1 NUMERIC, num2 NUMERIC) RETURNS numeric AS ' DECLARE toplam NUMERIC; BEGIN toplam :=num1+num2; return toplam; END; ' LANGUAGE 'plpgsql';

Örnek – 1 Girdi olarak verilen 2 sayının toplamını bulan fonksiyonu yazınız ve (22,63) parametreleri için çalıştırınız. CREATE OR REPLACE FUNCTION ornek1 (……) RETURNS numeric AS ' DECLARE toplam NUMERIC; BEGIN toplam :=num1+num2; return toplam; END; ' LANGUAGE 'plpgsql';

Fonksiyonun çalıştırılması ve Silinmesi SELECT fonksiyon_adı (parametre değerleri); SELECT ornek1(22,63); DROP FUNCTION fonksiyon_adı (parametre tipleri); DROP FUNCTION ornek1 (NUMERIC, NUMERIC);

Yardımcı örnek ‘Hardware’ departmandaki çalışanların ortalama maaşını bulan bir fonksiyon yazınız. SELECT AVG(salary) FROM employee e, department d WHERE e.dno = d.dnumber AND d.dname = ‘Hardware’;

Örnek – 2 Adı verilen bir departmandaki çalışanların ortalama maaşını bulan bir fonksiyon yazınız. CREATE FUNCTION ornek2 (depname department.dname%type) RETURNS real AS ' DECLARE maas NUMERIC; BEGIN SELECT AVG(salary) INTO maas FROM employee e, department d WHERE e.dno = d.dnumber AND d.dname = depname; return maas; END; ' LANGUAGE 'plpgsql';

SELECT ornek2('Hardware') DROP FUNCTION ornek2 (department.dname%type)

Örnek – 1 tekrar (return’süz) Girdi olarak verilen 2 sayının toplamını bulan fonksiyonu yazınız ve (22,63) parametreleri için çalıştırınız. CREATE FUNCTION ornek1 (num1 NUMERIC, num2 NUMERIC, OUT num3 NUMERIC) AS ‘ BEGIN num3:=num1+num2; END; ' LANGUAGE 'plpgsql';

Örnek – 3 Departman tablosundaki minimum ve maksimum departman numarasını bulup min_deptno ve max_deptno değişkenlerine atan fonksiyonu yazınız. CREATE FUNCTION ornek3 (OUT min_deptno department.dnumber%type, OUT max_deptno department.dnumber%type) AS ' BEGIN SELECT MIN(dnumber), MAX(dnumber) INTO min_deptno, max_deptno FROM department; END; ' LANGUAGE 'plpgsql';

SELECT ornek3() DROP FUNCTION ornek3 ()

Yardımcı örnek 6 no’lu departmanda çalışanların sayısını bulunuz SELECT COUNT(*) FROM employee WHERE dno = 6

Örnek – 4 6 no’lu departmanda çalışanların sayısını bulun, çalışan sayısı 10’dan azsa departmandaki tüm çalışanların maaşına %5 zam yapın. CREATE FUNCTION ornek4 () RETURNS void AS ' DECLARE num_worker NUMERIC(3) := 0; BEGIN ……. END; ' LANGUAGE 'plpgsql';

SELECT COUNT(*) INTO num_worker FROM employee WHERE dno = 6 IF (num_worker < 10) THEN UPDATE employee SET salary=salary*1.05 WHERE dno=6; END IF;

SELECT ornek4() DROP FUNCTION ornek4 ()

If-elsıf-else IF number = 0 THEN result := 'zero'; ELSIF number > 0 THEN result := 'positive'; ELSIF number < 0 THEN result := 'negative'; ELSE result := 'NULL'; END IF;

case CASE x END CASE; WHEN 1, 2 THEN msg := 'one or two'; WHEN x BETWEEN 3 AND 10 THEN msg := ‘three or four'; ELSE msg := 'other value'; END CASE;

Whıle döngüsü WHILE şart LOOP Kodlar. …… END LOOP;

For döngüsü FOR sayac IN başlangıç..bitiş LOOP Kodlar…… END LOOP; FOR sayac IN başlangıç..bitiş BY kaçar FOR sayac IN REVERSE başlangıç..bitiş BY kaçar

FOR i IN 1..10 FOR i IN REVERSE 10..1 FOR i IN REVERSE 10..1 BY 2 LOOP 1,2,3,4,5,6,7,8,9,10 END LOOP; FOR i IN REVERSE 10..1 10,9,8,7,6,5,4,3,2,1 FOR i IN REVERSE 10..1 BY 2 10,8,6,4,2

Örnek – 5 Verilen bir sayıyı 1 arttıran fonksiyonu yazınız. CREATE FUNCTION increment(t INTEGER) RETURNS INTEGER AS ‘ BEGIN return t + 1; END; ‘ LANGUAGE ‘plpgsql’;