이번에는 상품 이름으로 판매 개수를 확인하는 저장 프로시저를 작성해 봅시다.
특정 상품의 판매 개수는 판매 테이블에 데이터를 저장하였습니다. 그런데 판매 테이블에는 상품 이름이 없기 때문에 먼저 상품 이름으로 PID를 얻어와야 판매 테이블에서 판매 개수를 확인할 수 있습니다. 앞에서 상품 이름으로 PID를 검색하는 저장 프로시저를 작성하였는데 여기에서는 이를 이용하는 저장 프로시저를 만들어서 사용할 것입니다.
저장 프로시저에서 다른 저장 프로시저를 호출할 때는 EXEC 구문을 이용합니다.
EXEC [저장 프로시저 이름] [인자 리스트]
EXEC 구문에 인자 리스트를 열거할 때는 출력 유형의 매개 변수는 OUTPUT 키워드를 명시해야 합니다. 그리고 저장 프로시저 내부에서 변수를 선언할 때는 DECLARE 구문을 이용하여 변수명과 형식을 명시합니다.
ALTER PROCEDURE dbo.GetCountByPname ( @PNAME varchar(50), @COUNT int OUTPUT ) AS DECLARE @PID int EXEC FindPIDByName @PNAME, @PID output SELECT @COUNT =SUM(COUNT) FROM SALE where PID = @PID RETURN