SQL Server 강의실

시삽: 레드플러스 님 
게시판 이동:
 제목 : OUTPUT매개변수와RETURN사용저장프로시저예제2.sql
글번호: 40
작성자: 레드플러스
작성일: 2006/01/02 오후 12:19:00
조회수: 10349
--[1] 상품의 가격을 2배로 업데이트하는 저장 프로시저 : 업데이트된 레코드의 갯수를 반환
CREATE PROC UpdateUnitCost
    @modelNumber varchar(50),
    @output int OUTPUT
AS
    UPDATE Products
    SET UnitCost = UnitCost * 2
    WHERE ModelNumber = @modelNumber

    SET @output = (SELECT @@ROWCOUNT)
Go

--Select * From Products
Exec UpdateUnitCost 'test1', 1

--프로시저 수행
DECLARE @Number int
EXEC UpdateUnitCost 'test2', @Number OUTPUT
SELECT @Number

--[2] Products테이블에 있는 레코드의 갯수를 반환
Create Proc dbo.GetProductsCount
As
    Select Count(*)
    From Products
Go

--실행
Exec GetProductsCount

--위 저장 프로시저 방식을 Output 매개변수 방식으로 변경

CREATE Procedure ProductsCount
(
    @ItemCount int Out  
)
AS
    SELECT
        @ItemCount = Count(*)
    FROM
        Products
Go

--프로시저 수행
DECLARE @Number int
EXEC ProductsCount @Number OUTPUT
SELECT @Number --1

--[3] RETURN을 사용한 저장 프로시저
Create PROC ReturnUpdateUnitCost
    @modelNumber varchar(50)
AS
    UPDATE Products
    SET UnitCost = UnitCost / 2
    WHERE ModelNumber = @modelNumber

    RETURN @@ROWCOUNT --총 몇개의 레코드가 변경???
Go

--프로시저 수행
DECLARE @Number int
EXEC @Number = ReturnUpdateUnitCost 'test2'
SELECT @Number
--Select * From Products

--[4] 연습용 DB 삭제
Use Master
Go

Drop DataBase StudyStoredProcedure
GO
 
이전 글   다음 글 삭제 수정 답변 글쓰기 리스트

(댓글을 남기려면 로그인이 필요합니다.)

관련 아티클 리스트
  제       목 파일 작성자 작성일 조회
이전글 17. 트랜잭션 및 트리거 - 레드플러스 2003-12-05 8332
  16. 저장 프로시저 2 - 레드플러스 2003-12-05 8146
  매개변수사용저장프로시저예제1.sql - 레드플러스 2006-01-02 9712
현재글 OUTPUT매개변수와RETURN사용저장프로시저예제2.sql - 레드플러스 2006-01-02 10349
다음글 15. 저장 프로시저 1 - 레드플러스 2003-12-05 8166
 
손님 사용자 Anonymous (손님)
로그인 Home