-- Dışardan girilen kargo firması tarafından taşınmış ve yine dışardan girilen kargo ödemesi değer aralığındaki siparişleri listeleyen bir prosedür tasarlayınız.
CREATE PROC SiparisGetir
(
@kargoAdi nvarchar(20),
@minimumFiyat money,
@maximumFiyat money
)
AS
SELECT OrderID, OrderDate, Freight FROM Orders o
JOIN Shippers s
ON s.ShipperID = o.ShipVia
WHERE CompanyName = @kargoAdi
AND Freight between @minimumFiyat and @maximumFiyat
EXEC SiparisGetir 'Speedy Express', 10, 50
-- Dışardan girilen karakterleri içerisinde barındıran müşteri adına sahip müşterilerce verilmiş siparişleri listeleyen bir prosedür yazınız..
CREATE PROC MusteriSiparisleri
(
@parametre nvarchar(20)
)
AS
SELECT OrderID, OrderDate, CompanyName FROM Orders o
JOIN Customers c
ON
c.CustomerID = o.CustomerID
WHERE c.CompanyName like @parametre
EXEC MusteriSiparisleri '%eh%'
-- Stok miktari dışardan girilen iki değer arasında olan, ürün ücreti dışardan girilen iki değer arasında olan, toptancı firma adı dışardan girilen harfi barındıran ürünlerin adlarını, fiyatlarını, toptancı şirket adlarını ve fiyatlarının KDV eklenmiş hallerini gösteren bir prosedür yazınız.
-- minimum stok
-- maximum stok
-- min ücret
-- max ücret
-- firma adı
CREATE PROC UrunleriGetir
(
@minimumstok smallint,
@maximumstok smallint,
@minucret money,
@maxucret money,
@firmaadi nvarchar(30)
)
AS
SELECT ProductName, UnitPrice, UnitsInStock, CompanyName, (UnitPrice * 1.18) AS 'KDV' FROM Products p
JOIN Suppliers s
ON
p.SupplierID = s.SupplierID
WHERE UnitsInStock between @minimumstok and @maximumstok
AND UnitPrice between @minucret and @maxucret
AND CompanyName like @firmaadi
Exec UrunleriGetir 10, 40, 40, 110, '%ltd%'
-- Dışardan girilen calisanID'si tarafından alınmış siparişleri listeleyiniz,ancak dışardan kaç adet CalisanID geldiği bilinmemektedir.
CREATE PROC CalisanaGoreSiparisleriGetir
(
@parametre nvarchar(max)
)
AS
-- string sorgu;
-- sorgu = SELECT OrderID, OrderDate, EmployeeID from Orders Where EmployeeID in ('+@parametre+') Order By EmployeeID
declare @sorgu nvarchar(max)
set @sorgu = ('SELECT OrderID, OrderDate, EmployeeID from Orders Where EmployeeID in ('+@parametre+') Order By EmployeeID')
Execute (@sorgu)
Exec CalisanaGoreSiparisleriGetir '1,5,7'
Hiç yorum yok:
Yorum Gönder