Procedures no Sql Server 2000 / 2005 - parte 2

USE NORTHWIND
IF EXISTS (SELECT name FROM sysobjects
        WHERE name = 'AllInvoices')
    DROP PROCEDURE AllInvoices
GO

CREATE PROCEDURE AllInvoices
AS
SELECT CompanyName, Orders.OrderID, ProductName,
 UnitPrice=ROUND([Order Details].UnitPrice, 2),
 Quantity,
 Discount=CONVERT(int, Discount * 100),
 ExtendedPrice=ROUND(CONVERT(money, Quantity * (1 - Discount) *
                      [Order Details].UnitPrice), 2)
FROM Products, [Order Details], Customers, Orders
WHERE [Order Details].ProductID = Products.ProductID And
      [Order Details].OrderID = Orders.OrderID And
      Orders.CustomerID=Customers.CustomerID
ORDER BY Customers.CustomerID, Orders.OrderID
COMPUTE SUM(ROUND(CONVERT(money, Quantity * (1 - Discount) *
            [Order Details].UnitPrice), 2))
            BY Customers.CustomerID, Orders.OrderID
COMPUTE SUM(ROUND(CONVERT(money, Quantity * (1 - Discount) *
            [Order Details].UnitPrice), 2))
            BY Customers.CustomerID

------------------------------------------------------------------------------------------------------------------------
USE NORTHWIND
IF EXISTS (SELECT name FROM sysobjects
        WHERE name = 'AddCustomer')
    DROP PROCEDURE AddCustomer
GO

CREATE PROCEDURE AddCustomer
      @custID nchar(5), @custName nvarchar(40),
      @custContact nvarchar(30), @custTitle nvarchar(30),
      @custAddress nvarchar(60), @custcity nvarchar(15),
      @custRegion nvarchar(15), @custPostalCode nvarchar(10),
      @custCountry nvarchar(15),
      @custPhone nvarchar(24), @custFax nvarchar(24)
AS
DECLARE @ErrorCode int
INSERT Customers (CustomerID, CompanyName, ContactName,
                  ContactTitle, Address, City, Region,
                  PostalCode, Country, Phone, Fax)
VALUES (@custID, @custName, @custContact,
        @custTitle, @custAddress,
        @custCity, @custRegion, @custPostalCode, @custCountry,
        @custPhone, @custFax)
SET @ErrorCode=@@ERROR
IF (@ErrorCode = 0)
   RETURN (0)
ELSE
   RETURN (@ErrorCode)