프로그래밍.../PostgreSQL | Posted by 고기킬러 2009. 12. 31. 15:26

트리거 (Trigger) 예제


SQL : TRIGGER : TRIGGER.

 

-- [0] 트리거 연습용 테이블 생성
-- DROP TABLE dbo.[구매테이블]

CREATE TABLE dbo.[구매테이블]
(
 CustomerID int, ProductID int, Quantity int
)
GO


-- DROP TABLE dbo.[재고테이블]
CREATE TABLE dbo.[재고테이블]
(
 ProductID int,
 Quantity int
)
GO

 

-- [1] 재고테이블에 1번, 2번 제품을 10개 넣어 놓음(가상)
INSERT [재고테이블] VALUES(1, 10)
INSERT [재고테이블] VALUES(2, 10)
SELECT * FROM [재고테이블]

 

-- [2] 구매가 한번 이루어지면 자동으로 구매테이블에서 감소시키는 트리거 작성
CREATE TRIGGER [자동재고감소]
ON [구매테이블]
FOR INSERT
AS
 UPDATE [재고테이블] SET Quantity = Quantity -1
 PRINT '재고테이블에서 1개 감소했습니다.'

 

-- [3] 구매 테이블에 INSERT문을 실행시켜본다.
INSERT [구매테이블] VALUES(1,1,1)

 

-- [4] 트리거에의해 재고테이블의 모든 필드값이 자동으로 감소됨을 알 수 있다.
SELECT * FROM [재고테이블]

 

-- [5] 트리거를 수정해보자: 구매개수만큼 줄이도록 수정
ALTER TRIGGER [자동재고감소]
ON [구매테이블]
FOR INSERT
AS
 DECLARE @ProductID int, @Quantity int
 SET @ProductID = 0
 SET @Quantity = 0
 SELECT @ProductID = ProductID, @Quantity = Quantity
 FROM INSERTED  --INSERTED에 의해서 입력된 데이터 받아옴

 UPDATE [재고테이블] SET Quantity = Quantity - @Quantity
 WHERE ProductID = @ProductID
GO

 

-- [6] 1번 제품만을 1개 감소
INSERT [구매테이블] VALUES(1,1,1)
SELECT * FROM [재고테이블]

 

-- [7] 2번 제품만을 3개 감소
INSERT [구매테이블] VALUES(1,2,3)
SELECT * FROM [재고테이블]

 

-- [8] 트리거 삭제
DROP TRIGGER [자동재고감소]

 

-- [!] [자동재고감소]와 동일한 기능을 하는 입력 저장 프로시저
Create Procedure dbo.[자동재고감소프로시저]
 @CustomerID  Int,
 @ProductID    Int,
 @Quantity   Int
As
Begin Tran
 Insert [구매테이블]
 Values
 (
  @CustomerID,
  @ProductID,
  @Quantity
 )

 UPDATE [재고테이블]
 SET Quantity = Quantity - @Quantity
 WHERE ProductID = @ProductID

 Select * From [재고테이블]
Commit Tran
Go

Exec [자동재고감소프로시저] 1, 1, 1

'프로그래밍... > PostgreSQL' 카테고리의 다른 글

PostgreSQL with PHP  (0) 2010.01.08
PostgreSQL 설치및 기본 사용법  (0) 2010.01.08
PL/pgSQL이란?  (0) 2009.12.22
PostgreSQL의 PL/PgSQL 사용법  (0) 2009.12.22
PostgreSQL 언어의 사용법 (PL/PgSQL)  (0) 2009.12.22
보물들../DSLR(1000D) | Posted by 고기킬러 2009. 12. 28. 14:05

산지 꾀 됐지만 나름 나의 보물



사진 좀 찍어 볼라고 구입했던 캐논 1000d!! 하지만 렌즈 값의 압박으로 기본 렌즈로 이것 저것 찍고 다니는 카메라.... 돈 많이 벌면 좋은 렌즈 달아줄께 ㅠㅠ 좀만 참으렴...

iPhone 에서 작성된 글입니다.
보물들../아이폰(IPhone) | Posted by 고기킬러 2009. 12. 28. 14:01

귀여운 아이폰 테마 -picnic-



많은 테마들을 받아봤지만 이만한게 없는듯... picnic 추천입니다~

iPhone 에서 작성된 글입니다.

'보물들.. > 아이폰(IPhone)' 카테고리의 다른 글

내 핸드폰 바탕화면  (0) 2009.12.23
나도 아이폰이다!!  (0) 2009.12.15