태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.
페이지를 읽고 있습니다. ( 아쿠아바다's Blog )
분류 전체보기 (770)
쉐어포인트 (24)
Exchange (12)
SQL (121)
XML (36)
WEB (294)
O / S (97)
삶의향기 (163)
기획 (19)
RSS 피드(IE 7.0부터 기본 지원됩니다. 이전 버전 사용자는 접합한 툴을 사용하세요!!)

@@ROWCOUNT을 이용한 update/insert 저장프로시저

select을 하지 않고 @@ROWCOUNT을 이용하기 때문에 성능면이나 쿼리 디자인면에서 유용한 팁.


USE tempdb

GO



CREATE TABLE TEST( T_SEQ int, T_AA char(1) )



INSERT INTO TEST VALUES( 1, 'A' )

INSERT INTO TEST VALUES( 2, 'B' )

INSERT INTO TEST VALUES( 3, 'C' )



CREATE PROCEDURE dbo.SP_INSERT_OR_UPDATE

(

  @pSEQ int,

  @pSTRING char(1)

)

AS



BEGIN



set NOcount ON



UPDATE

TEST

SET

T_AA = @pSTRING

WHERE

T_SEQ = @pSEQ



IF @@ROWCOUNT = 0 BEGIN



INSERT INTO

TEST

VALUES

( @pSEQ, @pSTRING )



PRINT('인서트 되었습니다.')



ELSE BEGIN



PRINT('업데이트 되었습니다.')



END



END



SP_INSERT_OR_UPDATE 4, 'D' --인서트됨

SP_INSERT_OR_UPDATE 3, 'D' --업데이트됨

SP_INSERT_OR_UPDATE 5, 'F' --인서트됨

SP_INSERT_OR_UPDATE 5, 'G' --인서트됨



SELECT * FROM TEST



출처 : 히딩크

좀더 흥미로운 내용이 많이 있습니다.. HOME > SQL를 확인하세요
TAG ,   
0 Trackback, 0 Comment, :
1  ... 515 516 517 518 519 520 521 522 523  ... 770 
Statistics Graph
Total : 486,024 Today : 153