23 Mart 2019 Cumartesi

SQL SAKLI YORDAM VE FONKSİYONLAR

Create procedure sp_BolumEkle
(
@BolumAdi nvarchar(50)
)
AS BEGIN
INSERT INTO Bolumler(Bolum_Adi) VALUES (@BolumAdi)
END
EXEC sp_BolumEkle "Taki"

CREATE PROCEDURE sp_UrunFiyatGuncelle
(@artisMiktariYuzde float)
AS BEGIN
UPDATE Urunler
SET Urun_Fiyatı=Urun_Fiyatı+Urun_Fiyatı*@artisMiktariYuzde/100
END
EXEC sp_UrunFiyatGuncelle 5

CREATE FUNCTION UrunAdet(@urunAdi nvarchar(50))
RETURNS int
AS
BEGIN
DECLARE @urunAdedi int
SET @urunAdedi=(SELECT Urun_Sayisi FROM Urunler WHERE Urun_Adi=@urunAdi)
RETURN @urunAdedi
END

SELECT dbo.UrunAdet('notebook')

CREATE FUNCTION fn_calisanlariListele()
RETURNS TABLE
AS
RETURN SELECT*FROM Calisanlar

select*from fn_calisanlariListele()

Create Function soru9(@a int,@b int)
Returns int
as Begin declare @c int
IF @a>@b
set @c=@a+@b
else
set @c=@b-@a
Return @c+@b+@a
End

EXEC sp_databases

USE Bilisim
EXEC sp_tables

CREATE PROCEDURE sp_UrunleriListele
(@Urun_Sayisi_Parametresi int)
AS BEGIN
SELECT*FROM Urunler WHERE Urun_Sayisi>@Urun_Sayisi_Parametresi
END



ALTER PROCEDURE sp_UrunleriListele
(@Urun_Sayisi_Parametresi int)
AS BEGIN
SELECT*FROM Urunler WHERE Urun_Sayisi>@Urun_Sayisi_Parametresi
END

CREATE PROCEDURE sp_BolumEkle
(
@BolumAdi nvarchar(50)
)
AS
BEGIN
INSERT INTO Bolumler(Bolum_Adi)
VALUES (@BolumAdi)
END

CREATE PROCEDURE sp_UrunSatisSil
(
@urunFiyati decimal(18,2)
)
AS
BEGIN
DELETE FROM Satislar
WHERE Fiyat<@urunFiyati
END

CREATE PROCEDURE sp_UrunFiyatGuncelle
(
@artisMikttariYuzde float
)
AS
BEGIN
UPDATE Urunler SET Urun_Fiyatı=Urun_Fiyatı+Urun_Fiyatı*@artisMikttariYuzde/100
end

CREATE FUNCTION urunAdet(@urunAdi nvarchar(50))
RETURNS int
AS BEGIN
DECLARE @urunAdedi int
SET @urunAdedi=(SELECT Urun_Sayisi FROM Urunler WHERE Urun_Adi=@urunAdi)
RETURN @urunAdedi
END

Create Function En_fazla_SatisYapan(@Yil int,@Ay int) Returns Nvarchar(100)
AS
BEGIN Declare @Calisan Nvarchar(100)

SELECT TOP(1) @Calisan=Calisanlar.Adi
FROM Satislar INNER JOIN Calisanlar
ON Satislar.Calisan_TC_No=Calisan_TC_No
--Ay ve Yıl Parametreleri ile veri kümesi sınırlanır
WHERE (YEAR(Satislar.Tarih)=@Yil) AND (MONTH(Satislar.Tarih)=@Ay)
--Çalışana göre gruplanarak Toplam Satışa göre azalan sıralanır.
GROUP BY Satislar.Calisan_TC_No,Calisanlar.Adi
ORDER BY SUM(Satislar.Fiyat) DESC
Return @Calisan
END

CREATE fn_calisanlariListele()
RETURNS TABLE
AS
RETURN SELECT*FROM Calisanlar

ALTER FUNCTION fn_calisanlariListele(@cinsiyet nchar(1))
RETURNS TABLE
AS
RETURN SELECT*FROM Calisanlar WHERE Cinsiyet=@cinsiyet

CREATE FUNCTION fn_SatisBilgileri(@BolumNo int)
RETURNS @BolmSatTablosu TABLE
(
Bolum_Adı nvarchar(50),
UrunSayisi int
)
AS
BEGIN INSERT INTO @BolmSatTablosu
SELECT Bl.Bolum_Adi,SUM(Sat.Miktar)
FROM Urunler Ur,Bolumler Bl,Satislar Sat
WHERE Bl.Bolum_No=@BolumNo AND
Ur.Urun_no=Sat.Urun_No
GROUP BY Bl.Bolum_Adi,Bl.Bolum_No
HAVING Bl.Bolum_No=@BolumNo
RETURN END

Hiç yorum yok:

Yorum Gönder