매개변수 없는 THROW
데이터베이스에 새 제품을 삽입하기 위한 저장 프로시저를 준비하려고 합니다. 이 저장 프로시저에서 발생 가능한 오류를 errors라는 테이블에 기록한 뒤, 원래 오류를 다시 throw 하길 원합니다.
저장 프로시저를 어떻게 준비하면 될까요?
이 연습은 강의의 일부입니다
SQL Server에서의 트랜잭션과 오류 처리
연습 안내
- 오류 처리를
CATCH블록으로 감싸세요. - 오류를
errors테이블에 삽입하세요. - INSERT 문을 세미콜론(
;)으로 끝내세요. - 원래 오류를 다시 throw 하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
CREATE PROCEDURE insert_product
@product_name VARCHAR(50),
@stock INT,
@price DECIMAL
AS
BEGIN TRY
INSERT INTO products (product_name, stock, price)
VALUES (@product_name, @stock, @price);
END TRY
-- Set up the CATCH block
___ ___
-- Insert the error and end the statement with a semicolon
___ ___ errors VALUES ('Error inserting a product')___
-- Re-throw the error
___;
___ ___