YZM 5560 PL/SQL ile VERİTABANI PROGRAMLAMA UYGULAMA #5

Benzer belgeler
PostgreSQL ve PL/pgSQL

SQL e Giriş. Uzm. Murat YAZICI

PostgreSQL ve PL/pgSQL

Veritabanına Uygulanması

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

Veritabanı. SQL (Structured Query Language)

Basit SQL Sorguları Veritabanından verilerin SELECT cümleleri ile alınması işlemine sorgulama denir.

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

Veritabanı Yönetim Sistemleri (Başarım Eniyileme Performance Tuning)

Veri Tabanı Tasarım ve Yönetimi

SQL (Structured Query Language)

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

Veritabanı Tasarımı. Basit Eşleme: Dönüşüm İşlemi

Veri Tabanı Yönetim Sistemleri Bölüm - 5

Birden Çok Tabloda Sorgulama (Join)

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

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

KISITLAMALAR (CONSTRAINT)

Oracle da kullanılan veri tipleri:

SQL Komutları (2) Uzm. Murat YAZICI

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

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

HB1002: ORACLE 10G VERĐTABANI PL/SQL ile PROGRAMLAMA (32 saat)

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

Veritabanı ve Yönetim Sistemleri

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

Veritabanı Tasarımı. Alt Sorgu Temelleri

Veri Tabanı Programlamaya Giriş

SQL Query and Table Application

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.

ACCESS PLATFORMUNDA SQL

YZM 2105 Nesneye Yönelik Programlama

Çok tablolu sorgulamalar

Veritabanlarına ve SQL'e Giriş. Devrim GÜNDÜZ. Teknoloji Destek Merkezi --

VERİ TABANI YÖNETİM SİSTEMLERİ II. 2. SQL PROGRAMLAMA, VERİ TİPLERİ ve DEĞİŞKENLER

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

BÖLÜM -2: VERİLERİ SINIRLAMA VE SIRALAMA

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

DESTEK DOKÜMANI. Ürün : GO/TIGER2/UNITY2 Bölüm : Sistem Đşletmeni

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 YÖNETİM SİSTEMLERİ II. 3. SQL PROGRAMLAMA BLOKLARI ve AKIŞ DENETİMİ

Sql komutlarından DISTINCT, IN, NOT IN, IN(SELECT...), ANY, ALL, EXISTS, NOT EXISTS, UNION, EXCEPT, BETWEEN kullanımı

İlişkisel Veri Tabanları I

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

İNTERNET TABANLI PROGRAMLAMA- 12.ders

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

Emrah UYSAL 1

Veri Tabanı SQL Server ve Management Studio kurulum linkleri:

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

BAŞLAYINIZ DENİLMEDEN SORU KİTAPÇIĞINI AÇMAYINIZ.

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

EBE-368 Veri Tabanı Yönetim Sistemleri SQL

SQL (Structured Query Language)

Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat

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

«BM364» Veritabanı Uygulamaları

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

Veritabanı Tarihi. 1960s: Bilgisayarlar artan saklama kapasiteleri ile birlikte firmalar tarafından karşılanabilir hale gelmeye başladı

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

Bilgisayar Uygulamaları. MySql

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

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ü

Oracle Database 11g: Introduction to SQL

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

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

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

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

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

1. PL/SQL de kontrol yapıları

BLG 1306 Temel Bilgisayar Programlama

5 Sorgulama İşlemleri. Veritabanı 1

Programlama Temelleri Dersi - Algoritma Örnekleri-v0.2

Veritabanı Tasarımı. Büyük/Küçük Harf ve Karakter İşleme

5 Sorgulama İşlemleri. Veritabanı 1

PL/pgSQL SQL Yordamsal Dili

Object-Oriented Programming Laboratuvar 11

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

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

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

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

Veriyi ve Bilgiyi Organize Etmek. Bilgisayar Mühendisliğine Giriş 1

ORM & Hibernate. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu

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

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

Oracle'dan PostgreSQL'e geçiş

VERİ TABANI YÖNETİM SİSTEMLERİ II. 9. FORMLAR ve ORACLE FORMS PROGRAMINDA FORM OLUŞTURMA

Veri Tabanı Hafta Dersi

Microsoft SQL Server Sorgulama

1. IT bölümünde çalışan tüm çalışanların isimlerini gösteren bir sorgu yazınız.

Unutulmuş Özellikler: Oracle Veritabanına Yaptığınız Yatırımı Sonuna Kadar Kullanın

Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları

Veri Tabanı-I 9.Hafta

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

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

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2

BİL1001 Bilgisayar Bilimlerine Giriş 1

Genel Kullanılış 1: [değişken ismi] = [değişken ismi] [işlem] [sayı veya string ifade veya değişken]


Laboratuar Notları #5

Transkript:

YZM 5560 PL/SQL ile VERİTABANI PROGRAMLAMA UYGULAMA #5 1. EMPLOYEE veritabanını kullanarak çalışanların isim, soyad, çalıştığı bölüm ve maaş bilgilerini table türündeki değişkenlerde tutan ve ayrı bir döngü yardımıyla ekrana yazdıran bir PL/SQL bloğu oluşturunuz. 2. EMPLOYEE veritabanını kullanarak kullanıcıdan bölüm ismi bilgisini alan ve o bölümde çalışanların isimlerini ve sözleşme tarihlerini table türündeki değişkenler aracılığıyla ekrana yazdıran bir PL/SQL bloğu oluşturunuz. 3. EMPLOYEE veritabanını kullanarak bölümler ile ilgili bilgileri record türünde değişken yardımıyla ekrana yazdıran bir PL/SQL bloğu oluşturunuz. 4. STUDENT veritabanını kullanarak Winter 2003 döneminde final notu olarak F alan öğrencilerin isimlerini table türündeki değişkende saklayan ve bu değişken yardımıyla ekrana yazdıran bir PL/SQL bloğu oluşturunuz. 5. STUDENT veritabanını kullanarak en yüksek üç kapasiteye sahip ofis olmayan odaları varray türünde bir değişkende tutan ve bu bilgiyi ekrana yazdıran bir PL/SQL bloğu oluşturunuz. 6. STUDENT veritabanını kullanarak Spring 2003 döneminde ders vermeyen öğretim üyelerinin isimlerini varray türünde bir değişkende tutan ve bu bilgiyi ekrana yazdıran bir PL/SQL bloğu oluşturunuz.

1. CURSOR çalışanlar IS SELECT fname,lname,deptname,salary FROM employee e, dept d WHERE e.deptid=d.deptid; TYPE adtür IS TABLE OF employee.fname%type INDEX BY TYPE soyadtür IS TABLE OF employee.lname%type INDEX BY TYPE bölümismitür IS TABLE OF dept.deptname%type INDEX BY TYPE maaştür IS TABLE OF employee.salary%type INDEX BY ad adtür; soyad soyadtür; bölümismi bölümismitür; maaş maaştür; FOR tane IN çalışanlar LOOP ad(say) := tane.fname; soyad(say) := tane.lname; bölümismi(say) := tane.deptname; maaş(say) := tane.salary; DBMS_OUTPUT.PUT_LINE(RPAD(ad(tane),10) RPAD(soyad(tane),10) RPAD(bölümismi(tane),10) maaş(tane)); Smith John Finance 265000 Roberts Sandi Finance 75000 Chen Sunny Finance 35000 McCall Alex InfoSys 66500 Dev Derek InfoSys 80000 Shaw Jinku Sales 24500 Garner Stanley Sales 45000 Houston Larry Marketing 150000

2. bölümisim dept.deptname%type := '&bölüm_isim_gir_ilk_harf_büyük'; CURSOR çalışanlar IS SELECT fname,lname,hiredate FROM employee WHERE deptid=(select deptid FROM dept WHERE deptname=bölümisim); TYPE adtür IS TABLE OF employee.fname%type INDEX BY TYPE soyadtür IS TABLE OF employee.lname%type INDEX BY TYPE tarihtür IS TABLE OF employee.hiredate%type INDEX BY ad adtür; soyad soyadtür; tarih tarihtür; FOR tane IN çalışanlar LOOP ad(say) := tane.fname; soyad(say) := tane.lname; tarih(say) := tane.hiredate; DBMS_OUTPUT.PUT_LINE(RPAD(ad(tane),10) RPAD(soyad(tane),10) tarih(tane)); Smith John 15-APR-60 Roberts Sandi 02-DEC-91 Chen Sunny 15-AUG-99

3. CURSOR bölümler IS SELECT * FROM dept; TYPE bölümbilgitür IS TABLE OF dept%rowtype INDEX BY bölümbilgi bölümbilgitür; FOR tane IN bölümler LOOP bölümbilgi(say).deptid := tane.deptid; bölümbilgi(say).deptname := tane.deptname; bölümbilgi(say).location := tane.location; bölümbilgi(say).employeeid := tane.employeeid; DBMS_OUTPUT.PUT_LINE(RPAD(bölümbilgi(tane).deptid,10) RPAD(bölümbilgi(tane).deptname,12) RPAD(bölümbilgi(tane).location,15) bölümbilgi(tane).employeeid); 10 Finance Charlotte 123 20 InfoSys New York 543 30 Sales Woodbridge 135 40 Marketing Los Angeles 246 TYPE bölümrec IS RECORD (bölümno dept.deptid%type,bölümad dept.deptname%type,bölümyer dept.location%type, bölümbaş dept.employeeid%type); CURSOR bölümler IS SELECT * FROM dept; TYPE bölümbilgitür IS TABLE OF bölümrec INDEX BY bölümbilgi bölümbilgitür; FOR tane IN bölümler LOOP bölümbilgi(say).bölümno := tane.deptid; bölümbilgi(say).bölümad := tane.deptname; bölümbilgi(say).bölümyer := tane.location; bölümbilgi(say).bölümbaş := tane.employeeid; DBMS_OUTPUT.PUT_LINE(RPAD(bölümbilgi(tane).bölümno,10) RPAD(bölümbilgi(tane).bölümad,12) RPAD(bölümbilgi(tane).bölümyer,15) bölümbilgi(tane).bölümbaş);

4. CURSOR kalanlar IS SELECT first, last FROM student WHERE studentid IN (SELECT studentid FROM registration WHERE csid IN (SELECT csid FROM crssection WHERE termid = (SELECT termid FROM term WHERE UPPER(termdesc)='WINTER 2003')) AND final = 'f'); TYPE kalanadtür IS TABLE OF student.first%type INDEX BY TYPE kalansoyadtür IS TABLE OF student.last%type INDEX BY kalanad kalanadtür; kalansoyad kalansoyadtür; FOR tane IN kalanlar LOOP kalanad(say) := tane.first; kalansoyad(say) := tane.last; DBMS_OUTPUT.PUT_LINE(RPAD(kalanad(tane),10) kalansoyad(tane)); Jose Diaz

5. CURSOR odalar IS SELECT building,roomno,capacity FROM (SELECT * FROM location WHERE roomtype <> 'O' ORDER BY capacity DESC) WHERE ROWNUM <= 3; TYPE binatür IS VARRAY(3) OF location.building%type; TYPE odanotür IS VARRAY(3) OF location.roomno%type; TYPE kapasitetür IS VARRAY(3) OF location.capacity%type; bina binatür := binatür(); odano odanotür := odanotür(); kapasite kapasitetür := kapasitetür(); say INTEGER := 0; FOR tane IN odalar LOOP bina.ext bina(say) := tane.building; odano.ext odano(say) := tane.roomno; kapasite.ext kapasite(say) := tane.capacity; DBMS_OUTPUT.PUT_LINE(RPAD(bina(tane),10) RPAD(odano(tane),10) kapasite(tane)); Kennedy 204 50 Nehru 301 50 Nehru 309 45

6. CURSOR hocalar IS SELECT name FROM faculty WHERE facultyid NOT IN (SELECT DISTINCT facultyid FROM crssection WHERE termid = (SELECT termid FROM term WHERE LOWER(termdesc)='spring 2003') AND facultyid IS NOT NULL); TYPE hocaisimtür IS VARRAY(10) OF faculty.name%type; isim hocaisimtür := hocaisimtür(); say INTEGER := 0; FOR tane IN hocalar LOOP isim.ext isim(say) := tane.name; DBMS_OUTPUT.PUT_LINE(isim(tane)); Williams Vajpayee Collins Sen Rivera Chang