14.DERS Örnekler, Sorular BUKET DOĞAN.

Slides:



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

T sql-diğer komutlar Metin Akbulut.
SQL Structured Query Language (Yapısal sorgulama dili)
En ucuzundan en pahalısına doğru sıralanmış olarak “Cep Telefonları” kategorisindeki tüm ürünlerin isimleri “Spor” kategorisinde ürünleri listelenen “İstanbul”
SQL Komutlar 2 Sibel SOMYÜREK.
SQL de Değişken Tanımlama
SQL Komutlar 5 Sibel SOMYÜREK.
EkoPC Bilişim Ltd. Eğitim Hizmetleri
SQL Komutlar 4 Fahri YILMAZ.
VERİ TABANI ve YÖNETİMİ
Alt Sorgular Veritabanı 2.
Veri Tabanı Yönetim Sistemleri
T-SQL-2.Konu Akış Kontrolleri.
Veri Tabanı Yönetim Sistemleri
VeriTabanı Uygulama. Tabloları yaratmak için MySQL komutları.
BÖLÜM 6 SQL SERVER KOMUTLARI.
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.
SQL (STRUCTURED QUERY LANGUAGE)
Departman ve Personel Tablosu Soruları
VIEW (BAKIŞ) OLUŞTURMA
ÖRNEKLER. musteri Id adi soyadi mus_satis Id barkod adet Urunlar barkod urun_adi kodu fiyati Stok_hareket tarih barkod gelen giden.
VTYS Öğr. Gör. Engin DUTAR
VERİTABANI ve YÖNETİMİ
SQL’e Giriş ve SELECT Komutu
SQL de Değişken Tanımlama
MySQL Operatörleri ve Fonksiyonları
SQL SERVER 2008 Yücel YILDIRIM.
VeriTabanı Uygulama.
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ü
SELECT CONVERT(CHAR(8), GETDATE(), 112)
Bilgisayar Mühendisliği Bölümü
ADRESİNDEN ÖRNEK VERİ TABANLARINI İNDİRİNİZ
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ı.
BÖLÜM 9 VERİ TABANI NESNELERİ.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 2
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı
Bilgisayar Mühendisliği Bölümü
© 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
Transaction ve Örnekler
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
TETİKLEYİCİ ( Trigger)
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
TETİKLEYİCİLER ve HATA KONTROLÜ
SQL SERVER STORED PROCEDURE
VERİ TABANI SQL (STRUCTURED QUERY LANGUAGE) SAVAŞ TUNÇER.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
FONKSİYONLAR İbrahim Onur Sığırcı.
Sorgu / dml / ddl komutları
RAISE RECORD/CURSOR TRIGGER
SQL (STRUCTURED QUERY LANGUAGE)
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
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-3-DDL
Sunum transkripti:

14.DERS Örnekler, Sorular BUKET DOĞAN

Haftanın Hedefi SQL server da karmaşık sorgular ve T-SQL ile çalışma

Örnek CREATE PROC random_password5 (@len int = 18) as BEGIN DECLARE @password varchar(25) SET @password='' WHILE @len > 0 SET @password = @password + CHAR(ROUND(97 + (RAND() * (10)),0)) SET @len = @len - 1 END SELECT @password end exec random_password5 10

CREATE PROC random_password (@len int = 18) BEGIN DECLARE @password varchar(25), @bitmap char(6) SET @password='' SET @bitmap = 'uaeio' WHILE @len > 0 IF (@len%2) = 0 SET @password = @password + SUBSTRING(@bitmap,CONVERT(int,ROUND(1 + (RAND() * (5)),0)),1) ELSE --Appending a random alphabet SET @password = @password + CHAR(ROUND(97 + (RAND() * (10)),0) SET @len = @len - 1 END SELECT @password exec random_password 8

create proc buket3(@tablom varchar(30)) as begin declare @sql varchar(100) IF EXISTS( SELECT * FROM sys.sysobjects WHERE name = @tablom and xtype='u' ) PRINT @Tablom + ' var' ELSE BEGIN select @sql = 'create table ' + @tablom + '(id int, adi varchar(30))' exec (@sql) PRINT @tablom + ' şimdi oluşturuldu' end

Ürünler tablosunda BirimdekiMiktar alanında İçinde box kelimesi geçen kaç tane ürün bulunmaktadır (kategorisine adı ile birlikte) SELECT u.KategoriID,[KategoriAdi], count(*) FROM [Urunler] u INNER JOIN [Kategoriler] k ON k.[KategoriID]= u.[KategoriID] WHERE [BirimdekiMiktar] LIKE '%box%' group by u.KategoriID,[KategoriAdi]

Müşterilerin ID ve isim değerleri ile birlikte toplam satış değerlerinin gözükmesini sağlayan sorgu SELECT s.SatisID, s.MusteriId,m.MusteriAdi, SUM (BirimFiyati*Miktar) as Tutar FROM SatisDetaylari AS sd INNER JOIN Satislar as s ON sd.SatisID=s.SatisID INNER JOIN Musteriler AS m ON s.MusteriID=s.MusteriID GROUP BY s.SatisID ,s.MusteriID,m.MusteriAdi

Create proc [secimle_fiyat](@secim varchar(10)) as begin declare @kod nchar(40) if @secim='enbuyuk' set @kod='select max(BirimFiyati) from Urunler' else if @secim='enkucuk' set @kod='select min(BirimFiyati) from Urunler' else if @secim='ortalama' set @kod='select avg(BirimFiyati) from Urunler' exec sp_executesql @kod end

CREATE VIEW vw_Satislar AS SELECT SatisID, SUM (BirimFiyati*Miktar) as Tutar FROM SatisDetaylari GROUP BY SatisID

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi Personeller tablosunda kayıt güncellendiğinde işlem tarihi alanına o anki tarih bilgisi eklensin alter table Personeller add IslemTarihi Datetime © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi CREATE TRIGGER [dbo].[TrigDegisimTarihi] ON [dbo].[Personeller] AFTER UPDATE AS declare @Personel int SELECT @Personel = PersonelID FROM inserted UPDATE Personeller SET IslemTarihi = GETDATE() WHERE Personeller.PersonelID = @Personel © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi Personeller tablosuna SicilNo alanı eklenecek ve bu alana 1000’den başlayarak birer birer artarak her kayıt için ekleme yapacak T-sql kodunu yazınız. Personeller tablosunda yapılacak unvan değişimlerinde(güncellemelerinde) Eskigörevler isimli bir tabloya personelin Id, isim ve eski görevi, görev değişim tarihi ve yeni görevi bilgilerini yazan bir trigger yazınız. © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi Örnek Alter table Personeller add sicil integergo DECLARE deneme3 CURSOR FOR SELECT PersonelID from Personeller DECLARE @id int Declare @sayac int Set @sayac=1000 OPEN deneme3 FETCH NEXT FROM DENEME3 INTO @id WHILE (@@FETCH_STATUS=0) BEGIN update Personeller set sicil=@sayac where PersonelID=@id Set @sayac=@sayac+1 END close deneme3 DEALLOCATE deneme3 SELECT PersonelID,Adi,SoyAdi,Unvan, sicil from Personeller © Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi

CREATE FUNCTION Kdvli( @fiyat money ) RETURNS money AS BEGIN DECLARE @Kdvlifiyat money IF (@fiyat > 100) SET @Kdvlifiyat = @fiyat*1.1 ELSE SET @Kdvlifiyat = @fiyat*1.05 RETURN @Kdvlifiyat END

select UrunID, UrunAdi, BirimFiyati, dbo.kdvli(BirimFiyati) from Urunler