الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة في الإجرائيات وعرضها

بدأه Fuad Ahmad في 20 يونيو 2014 · 0 رد · 277 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1

أعتقد بعد العناء الطويل استطعت الحصول على هذه الإجرائية والطلب هو :

  1. توليد تقرير بالمبيعات اليومية. والتي يمكن استقائها من الجدولين Orders, Order Details، ويأخذ هذا الإجراء معامل وحيد هو تاريخ اليوم المراد إصدار التقرير عنه.
    1. توليد تقرير شهري بأكثر المواد مبيعاً. يمكن الحصول على هذه المعلومات من خلال مقاطعة معلومات الجدول Products مع الجدول Order Details الذي يبين كمية المبيعات.

 

 

حل الطلب الأول :

USE [Northwind]
GO

/****** Object:  StoredProcedure [dbo].[day_report]    Script Date: 17/6/2014 10:43:24 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[day_report]

       @OrderID                            int ,
       @CustomerID                      nvarchar(5) ,
       @EmployeeID                        int ,
       @OrderDate                       datetime ,
       @RequiredDate                    datetime ,
       @ShippedDate                     datetime ,
       @ShipVia                            int,
       @Freight                            money ,
       @ShipName                        nvarchar(40) ,
       @ShipAddress                     nvarchar(60) ,
       @ShipCity                        nvarchar(15) ,
       @ShipRegion                      nvarchar(15) ,
       @ShipPostalCode                  nvarchar(10) ,
       @ShipCountry                     nvarchar(15) ,
       @ProductID                        int ,
       @UnitPrice                        money ,
       @Quantity                        smallint,
       @Discount                        real
        
 
AS
BEGIN
     SET NOCOUNT ON

SELECT     Orders.*,
            [Order Details].UnitPrice,
            [Order Details].Quantity,
             [Order Details].Discount
FROM         [Order Details]
            INNER JOIN
          Orders ON [Order Details].OrderID = Orders.OrderID
          order by Orders.OrderDate
END



DECLARE    @return_value int
EXEC    @return_value = [dbo].[day_report]
        @OrderID = N'Daily Report',
        @CustomerID = 0,
        @EmployeeID = 0,
        @OrderDate = N'2014-1-1',
        @RequiredDate = N'2014-1-1',
        @ShippedDate = N'2014-1-1' ,
        @ShipVia = 0 ,
        @Freight = 0,
        @ShipName = 0,
        @ShipAddress = 0,
        @ShipCity = 0 ,
        @ShipRegion = 0 ,
        @ShipPostalCode = 0 ,
        @ShipCountry = 0 ,
       @ProductID =0 ,
       @UnitPrice =0,
       @Quantity=0,
       @Discount=0
        
        
        


Declare @RC int
Execute @RC = dbo.day_report
'My Order',0,0,N'2014-1-1',N'2014-1-1',N'2014-1-1',0,0,0,0,0,0,0,0,0,0,0,0 ;
 

 

حل الطلب الثاني:

 

USE [Northwind]
GO

/****** Object:  StoredProcedure [dbo].[month_report]    Script Date: 17/6/2014 10:43:24 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[month_report]

       @OrderID                            int ,
       @ProductID                        int,
       @Quantity                        smallint,
       @Discount                        real,
       @ProductName                        nvarchar(40) ,
       @SupplierID                        int,
       @CategoryID                        int,
       @QuantityPerUnit                    nvarchar(20) ,
       @UnitPrice                        money,
       @UnitsInStock                    smallint,
       @UnitsOnOrder                    smallint,
       @ReorderLevel                    smallint,
       @Discontinued                    bit
        
        
 
AS
BEGIN
     SET NOCOUNT ON

SELECT     Products.ProductName,
         Products.ProductID,
         Products.SupplierID,
          Products.CategoryID,
           Products.QuantityPerUnit,
            Products.UnitPrice,
             Products.UnitsOnOrder,
                      Products.UnitsInStock,
                       Products.Discontinued,
                        Products.ReorderLevel,
                         [Order Details].OrderID,
                         [Order Details].UnitPrice
                         AS
                          Expr1, [Order Details].Quantity,
                      [Order Details].Discount
FROM         [Order Details] INNER JOIN
                      Products ON [Order Details].ProductID = Products.ProductID
ORDER BY Products.ProductName
END



DECLARE    @return_value int
EXEC   @OrderID    =  'Month',
       @ProductID = 0 ,
       @Quantity = 0 ,
       @Discount = 0 ,
       @ProductName = 0 ,    
       @SupplierID  = 0 ,
       @CategoryID    = 0 ,
       @QuantityPerUnit    = 0 ,
       @UnitPrice        = 0 ,
       @UnitsInStock    = 0 ,    
       @UnitsOnOrder= 0 ,            
       @ReorderLevel    = 0 ,                
       @Discontinued    = 0     
        
                
        


Declare @RC int
Execute @RC = dbo.month_report
'Month',0,0,0,0,0,0,0,0,0,0,0,0;
 

 

أرجو المساعدة وشكرا

 

instnwnd.rar

I Have A Dream ...

مواضيع مشابهة