IT Course

Technology Collection: Ruijin.R.Zhao

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
一,创建表
USE [SVC]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[RMAAttachments](
    TransactionNumber    
int            NOT NULL    IDENTITY (11),
    CompanyCode            
char(50)    NOT NULL    DEFAULT '',
    CountryCode            
char(3)        NULL,
    LanguageCode        
char(5)        NULL,
    AttachmentName        
nvarchar(MAX)    NOT NULL    DEFAULT '',
    ItemCode            
char(50)    NULL,
    ControlCode            
char(30)    NULL,
    OrderNumber            
Char(50)    NOT NULL    DEFAULT '',
    OrderType            
int            NOT NULL,
    InDate                
datetime    NOT NULL,
    InUser                
char(10)    NOT NULL
    
CONSTRAINT [PK_RMAAttachments] PRIMARY KEY CLUSTERED 
    (
        TransactionNumber  
    )
WITH FILLFACTOR = 90
ON [PRIMARY]

GO
SET ANSI_PADDING OFF

CREATE NONCLUSTERED INDEX IX_RMAAttachments_CompanyCode ON [dbo].[RMAAttachments]
(
    CompanyCode
)
WITH FILLFACTOR=90

CREATE NONCLUSTERED INDEX IX_RMAAttachments_OrderType ON [dbo].[RMAAttachments]
(
    OrderType
)
WITH FILLFACTOR=90

CREATE NONCLUSTERED INDEX IX_RMAAttachments_OrderNumber ON [dbo].[RMAAttachments]
(
    OrderNumber
)
WITH FILLFACTOR=90

CREATE NONCLUSTERED INDEX IX_RMAAttachments_ItemCode ON [dbo].[RMAAttachments]
(
    ItemCode
)
WITH FILLFACTOR=90

CREATE NONCLUSTERED INDEX IX_RMAAttachments_ControlCode ON [dbo].[RMAAttachments]
(
    ControlCode
)
WITH FILLFACTOR=90

二,创建函数
CREATE FUNCTION dbo.FN_RMA_GetTheItemOnVendorData_V102007122101 
(
    
@CompanyCode CHAR(50)
)
RETURNS TABLE
AS
RETURN
(
    
SELECT VendorNumber
           ,VendorName
           ,
SUM(ISNULL(Between0To30DaysAmount,0.00)) AS Between0To30DaysAmount
           ,
SUM(ISNULL(Between30To60DaysAmount,0.00)) AS Between30To60DaysAmount
           ,
SUM(ISNULL(Between60To90DaysAmount,0.00)) AS Between60To90DaysAmount
           ,
SUM(ISNULL(MoreThan90DaysAmount,0.00)) AS MoreThan90DaysAmount
           ,
SUM(ISNULL(TotalAmount,0.00)) AS TotalAmount
           ,LastCountDate
    
FROM
    (
    
SELECT VendorNumber
           ,VendorName
           ,
CASE [Type] WHEN '001' THEN SUM(ISNULL(Amount,0.00))  END AS Between0To30DaysAmount
           ,
CASE [Type] WHEN '002' THEN SUM(ISNULL(Amount,0.00)) END AS Between30To60DaysAmount 
           ,
CASE [Type] WHEN '003' THEN SUM(ISNULL(Amount,0.00)) END AS Between60To90DaysAmount
           ,
CASE [Type] WHEN '004' THEN SUM(ISNULL(Amount,0.00)) END AS MoreThan90DaysAmount
           ,
CASE [Type] WHEN '000' THEN SUM(ISNULL(Amount,0.00)) END AS TotalAmount
           ,LastCountDate
    
FROM [dbo].[RMAItemOnVendor] WITH (NOLOCK)
    
WHERE CompanyCode = @CompanyCode 
    
GROUP BY VendorNumber,
             VendorName,
             
[Type],
             LastCountDate
    ) 
AS A
    
GROUP BY VendorNumber
             ,VendorName
             ,LastCountDate
)

三,修改表
ALTER TABLE DBO.ControlCodeTransaction ADD WarrantyLastCalcDate DATETIME NULL 
ALTER TABLE DBO.ControlCodeTransaction ALTER COLUMN OrderNumber CHAR(50NULL
ALTER TABLE DBO.ControlCodeTransaction ALTER COLUMN SourceNumber CHAR(50NOT NULL 
ALTER TABLE DBO.ControlCodeTransaction ADD CONSTRAINT [DF_ControlCodeTransaction_SourceTNumber] DEFAULT '' FOR SourceNumber
posted on 2009-09-04 15:07  tommy007  阅读(314)  评论(0)    收藏  举报