@Adet int
as
select top @Adet
productName,sum( Quantity) --sum toplamdır
as satısAdedi
from [Order Details]
join products
on[order details].ProductID=products.productID
group by productName
order by sum(quantity)DESC
NOT: Bu query bloğu çalışmaz..! çünkü parametreyi (@Adet) gövde metninde tanımladık. Çalışması için şöle bir formülü varrrr...!
create proc sel_encoksatanX
@Adet int
as
exec(--exec : stirn ifadeleri derlemeye çalışır
' select top ' + @Adet +
' productName,sum( Quantity)--sum toplamdır
as satısAdedi
from [Order Details]
join products
on[order details].ProductID=products.productID
group by productName
order by sum(quantity)DESC '
)
gördüğünüz gibi artık çalışır hale geldi.. EXEC sayesinde. Peki nedir? bu EXEC
EXEC Yapısının iki görevi vardır; execut un kısaltmasıdır..
1 bazı SP'leri çalıştırır.
2 İçine aldığı string ifadeleri birer nesneye dönüştürerek çalıştırırr.
Örnek:
exec('select * from customers')
Hiç yorum yok:
Yorum Gönder