첫 번째 오류 처리 스크립트
products 테이블의 stock 열에 저장되는 값을 검증하는 제약 조건이 없다는 것을 확인했어요. stock 값은 항상 0 이상이어야 하는 게 맞습니다.
그런데 아래 행에 오류가 있어요. 재고가 -1입니다!
| product_id | product_name | stock | price |
|------------|--------------|-------|-------|
| 6 | Trek Neko+ | -1 | 2799 |
products 테이블에 제약 조건을 추가해서, 0 이상인 재고만 허용되도록 스크립트를 준비하고자 합니다.
하지만 0 이상만 허용하는 제약을 추가하면, 재고가 -1인 행이 하나 있기 때문에 실행이 실패하게 됩니다.
이 스크립트를 어떻게 준비하면 좋을까요?
이 연습은 강의의 일부입니다
SQL Server에서의 트랜잭션과 오류 처리
연습 안내
- 제약 조건 추가 구문을
TRY블록으로 감싸세요. products테이블에 제약 조건을 추가하세요.- 오류 메시지 처리는
CATCH블록으로 감싸세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
-- Set up the TRY block
BEGIN ___
-- Add the constraint
ALTER TABLE ___
ADD CONSTRAINT CHK_Stock CHECK (stock >= 0);
___ ___
-- Set up the CATCH block
___ ___
SELECT 'An error occurred!';
END ___