시작하기무료로 시작하기

매개변수 없는 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
	___; 
___ ___
코드 편집 및 실행