블로그 이미지
Magic_kit
study 관련자료를 한곳으로 자기 개발 목적으로 재태크 재무 관리 목적으로 일상생활의 팁을 공유 하기 위하여 블로그를 개설 하였습니다.

calendar

1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
반응형

Category

Recent Post

Recent Comment

Archive

2009. 9. 25. 15:19 .Net Project/WindowServer2008
반응형
쇼핑카트 아이템 개수
 --[8] 쇼핑카트 아이템 개수 : ShoppingCart.aspx에서 사용
Create Procedure ShoppingCartItemCount
(
         @CartID VarChar(50), --현재 접속자
         @ItemCount Int Output --상품카운트
)As 
 
 Select
         @ItemCount = COUNT(ProductID)
 From
        ShoppingCart
 Where 
       CartID = @CartID
Go

쇼핑카트 리스트
 --[9] 쇼핑카트 리스트
Create Procedure ShoppingCartList
(
      @CartID VarChar(50) --현재 접속자수
)      
As
 Select
       p.ProductID, --상품고유번호
       p.ModelName, --상품명
       p.ModelNumber, --모델번호
       s.Quantity, --수량 
       p.SellPrice, --상품가격
      CAST((p.SellPrice * s.Quantity) As Int)
              As ExtendeldAmount --소계
 From
        Products p,
        ShoppingCart s
 
 Where
        p.ProductID = s.ProductID
 And 
        s.CartID = @CartID
 
Order By
         p.ModelName,
         p.ModelNumber
Go   

쇼핑카트 업데이트 & 삭제 & 쇼핑카트 총 비용  & 쇼핑카트 새로고침
 쇼핑카트 업데이트 (장바구니 재정리)
Create Procedure ShoppingCartUpdate
(
       @CartID VarChar(50), --현재접속자, 누가
       @ProductID Int,  --상품고유번호, 어떤 제품을
       @Quantity Int  --수량 몇개?
)  
As
       Update ShoppingCart
 Set
       Quantity = @Quantity
 Where
       CartID = @CartID
 And
       ProductID = @ProductID
Go     
----------------------------------------------------------------------
체크된 상품 삭제 쿼리문 
--------------------------------------------------------------------- 
Create Procedure ShoppingCartRemoveItem
(
         @CartID VarChar(50),
         @ProductID Int
 
)
As
 Delete From ShoppingCart
 Where 
       CartID = @CartID
 And
       ProductID = @ProductID
Go    
--------------------------------------------------------------------
체크된 상품 총 비용
--------------------------------------------------------------------
Create Procedure ShoppingCartTotal
(
       @CartID VarChar(50),
       @TotalCost Int Output
)    
As
    Select 
         @TotalCost = SUM(Products.SellPrice * ShoppingCart.Quantity)
 From
      ShoppingCart,
      Products
 Where
      ShoppingCart.CartID = @CartID
 And
      Products.ProductID = ShoppingCart.ProductID 
Go    
--------------------------------------------------------------------
쇼핑카트 새로고침
--------------------------------------------------------------------
--[13] 쇼핑카트 새로고침 : 비회원 - > 회원
-- 로그인 하지 않고, 장바구니 담았다가, 로그인하면,
--"고유 랜덤문자열"이 "1"과 같이 고객번호로 대체

Create Procedure ShoppingCartMigrate
(
      @OriginalCartId VarChar(50),  --세션ID
      @NewCartId VarChar(50) --고객ID
)
As
    Update
    ShoppingCart
Set
   CartId = @NewCartId
Where 
   CartId = @OriginalCartId
Go     

쇼핑카트 비우기

 --[14]쇼핑카트 비우기
Create Procedure ShoppingCartEmpty
(
    @CartID VarChar(50) --현재 접속자
)
As
   Delete From ShoppingCart
 Where
   CartID = @CartID
Go
-------------------------------------------------------------------
--[15] 퀴즈 (하루가 지난) 쇼핑 카트 ?? : 관리자 모드에서 사용
-------------------------------------------------------------------

Delete From ShoppingCart
Where
 DATEDIFF(dd,DateCreated, GetDate()) > 1 --시간차가 1일 이상인 조건
Go

Create Proc ShoppingCartRemoveAbandoned
As
 Delete From ShoppingCart
 Where
  DATEDIFF(DD, DateCreated, GETDATE()) > 1
Go


고객등록

 --[16] 고객등록 : Register.aspx에서 사용
Create Procedure CustomerAdd
(
     @CustomerName VarChar(50),
     @Phone1 VarChar(4),
     @Phone2 VarChar(4),
     @Phone3 VarChar(4),
     @Mobile1 VarChar(4),
     @Mobile2 VarChar(4),
     @Mobile3 VarChar(4),
     @Zip VarChar(7),
     @Address VarChar(100),
     @AddressDetail VarChar(100),
     @Ssn1 VarChar(6),
     @Ssn2 VarChar(7),
     @EmailAddress VarChar(50),
    @MemberDivision Int,
 --위에 매개 변수는 Customers관련, 아래 매개변수는 Membership 관련
    @UserID VarChar(25),
    @Password VarChar(100),
    @BirthYear VarChar(4),
    @BirthMonth VarChar(2),
    @BirthDay VarChar(2),
    @BirthStatus VarChar(2),
    @Gender Int,
    @Job VarChar(20),
    @Wedding Int,
    @Hobby VarChar(100),
    @Homepage VarChar(100),
    @Intro VarChar(400),
    @Mailing Int,
    @Mileage Int, 
    @CustomerID Int Output
)   
As
 Begin Tran CustomerAdd --별칭을 붙여서 트랜잭션 걸기
 --첫번째 인서트문...
 Insert Into Customers (
      CustomerName, Phone1, Phone2, Phone3, Mobile1, Mobile2,
      Mobile3, zip, Address, AddressDetail, Ssn1, Ssn2,
      EmailAddress, MemberDivision
  )
  Values (
     @CustomerName, @Phone1, @Phone2, @Phone3, @Mobile1,
     @Mobile2,@Mobile3, @zip, @Address, @AddressDetail, @Ssn1,  
     @Ssn2,@EmailAddress, @MemberDivision
  )
  --바로 위에서 실행된 쿼리문의 Identity 값 반환 
  Select @CustomerID = @@Identity 

-- 위의 내용과 같은 방식 (이와 같은 방식으로 사용 가능)
-- Select @CustomerID = MAX(CustomerID) From Customers
----------------------------------------------------------------------
 Insert Into MemberShip
 Values (
  @CustomerID, @UserID, @Password, @BirthYear, @BirthMonth, @BirthDay,
  @BirthStatus, @Gender, @Job, @Wedding,
  @Hobby, @Homepage, @Intro, @Mailing,
  0, GETDATE(), @Mileage, GETDATE()
 ) 
 Select @CustomerID
 
 If @@ERROR > 0 
--만약 에러가 발생했다면 2개 인서트 모두 리턴
         RollBack Tran CustomersAdd
    Commit Tran CustomerAdd   
Go



반응형
posted by Magic_kit