کتاب آموزش کاربردی و پروژه محور نرم افزار SQL SERVER بهترین انتخاب برای کسانی است که با داده و اطلاعات سر و کار دارند. دوست دارند بتوانند گزارشات و کوئری های مختلف مورد نیاز خود را خوشان تهیه کنند.

دانشجویان رشته های مهندسی کامپیوتر و IT، رشته های مدیریت، متخصصان هوش تجاری (BI ) می توانند با مطالعه و تمرین این کتاب به نرم افزار مدیریت پایگاه داده  sql server مسلط شوند. برای سفارش این کتاب بر روی تصویر زیر کلیک کنید

کتاب کاربردی و پروژه محور نرم افزار SQL SERVER جلد

پاسخنامه تمرینهای فصل هفتم کتاب آموزش کاربردی و پروژه محور نرم افزار SQL Server

پاسخ سوال 1:

 

   CREATE VIEW ProductDetailsView AS

   SELECT ProductsTbl.PName, CategoriesTbl.CategoryName, BrandsTbl.BrandName

   FROM ProductsTbl

   JOIN CategoriesTbl ON ProductsTbl.CategoryID = CategoriesTbl.CategoryID

   JOIN BrandsTbl ON ProductsTbl.BrandID = BrandsTbl.BrandID;

 

پاسخ سوال 2:

   CREATE PROCEDURE GetCustomersByLastName

   @Family NVARCHAR(150)

   AS

   BEGIN

      SELECT * FROM CustomersTbl WHERE CFamily = @Family;

   END;

 

 

پاسخ سوال 3:

   CREATE PROCEDURE DecreaseProductStock

   @ProductID INT,

   @Number INT

   AS

   BEGIN

      UPDATE ProductsTbl

      SET PStock = PStock – @Number

      WHERE ProductID = @ProductID;

   END;

 

 

پاسخ سوال 4:

   CREATE PROCEDURE UpdateProductStock

   @ProductID INT,

   @NewStock INT

   AS

   BEGIN

      UPDATE ProductsTbl

      SET PStock = @NewStock

      WHERE ProductID = @ProductID;

   END;

 

 

پاسخ سوال 5:

   CREATE PROCEDURE AddNewProduct

   @Pcode char(13),

   @PName NVARCHAR(255),

   @BrandID INT,

   @CategoryID INT,

   @Price bigint,

   @Stock INT,

   @Average float

   AS

   BEGIN

      INSERT INTO ProductsTbl (Pcode, PName, CategoryID,BrandID, PPrice, PStock, PAverage)

      VALUES (@Pcode, @PName, @CategoryID,@BrandID, @Price, @Stock, @Average);

   END;

 

 

پاسخ سوال 6:

  CREATE PROCEDURE GetProductsByPrice

   @MaxPrice DECIMAL(10, 2)

   AS

   BEGIN

      SELECT * FROM ProductsTbl WHERE PPrice < @MaxPrice;

   END;

 

 

پاسخ سوال 7:

   DECLARE @ProductID INT, @PName NVARCHAR(150), @Price bigint

   DECLARE ProductCursor CURSOR FOR

   SELECT ProductID, PName, PPrice

   FROM ProductsTbl

   WHERE CategoryID = 5 AND PPrice < 50000;

   OPEN ProductCursor;

   FETCH NEXT FROM ProductCursor INTO @ProductID, @ProductName, @Price;

   WHILE @@FETCH_STATUS = 0

   BEGIN

      INSERT INTO NewProductsTbl (ProductID, ProductName, Price)

      VALUES (@ProductID, @PName, @Price);

      FETCH NEXT FROM ProductCursor INTO @ProductID, @ProductName, @Price;

   END;

   CLOSE ProductCursor;

   DEALLOCATE ProductCursor;

 

پاسخ سوال 8:

 CREATE TRIGGER trg_StockZero

   ON ProductsTbl

   AFTER UPDATE

   AS

   BEGIN

      IF EXISTS (SELECT * FROM inserted WHERE PStock = 0)

      BEGIN

         INSERT INTO SystemLogTbl (CreateDateTime , [Description])

         VALUES ( GETDATE(), N’موجودی محصول صفر شد’);

      END;

   END;

 

پاسخ سوال 9:

      CREATE PROCEDURE AddProductWithTransaction

       @Pcode char(13),

          @PName NVARCHAR(255),

          @BrandID INT,

          @CategoryID INT,

          @Price DECIMAL(10, 2),

          @Stock INT,

          @Average float

   AS

   BEGIN

      BEGIN TRY

         BEGIN TRANSACTION;

         INSERT INTO ProductsTbl (PCode, PName,BrandID, CategoryID, PStock, PPrice, PAverage)

         VALUES (@Pcode,@PName, @BrandID,@CategoryID, @Stock, @Price, @Average);

         COMMIT TRANSACTION;

      END TRY

      BEGIN CATCH

         ROLLBACK TRANSACTION;

         PRINT N’خطایی اتفاق افتاده است’;

      END CATCH

   END;

 

پاسخ سوال 10:

صفحه 271 کتاب

پاسخنامه سوالات فصل اول

پاسخنامه سوالات فصل دوم

پاسخنامه سوالات فصل سوم

پاسخنامه سوالات فصل چهارم

پاسخنامه سوالات فصل پنجم

پاسخنامه سوالات فصل ششم

پاسخنامه سوالات فصل هشتم

پاسخنامه سوالات فصل نهم

پاسخنامه سوالات فصل دهم