IT_DBMS/MSSQL

프로시저 연습하기 3

JJun ™ 2006. 3. 8. 16:20




create proc p_test10
 @id varchar(12),
 @pwd varchar(12)
as
 if exists (select * from 회원
              where 회원id = @id and 비밀번호 = @pwd)
   

        select '회원인증성공' /*테이블 안에 출력되는 내용*/
 else
          select '회원인증 실패'
/*테이블 안에 출력되는 내용*/
go

exec p_test10 '111','111' /*테이블에 있는 데이터이므로 회원인증 성공*/
exec p_test10 '121','121' /*테이블에 없는 데이터이므로 회원인증 실패*/

 

===============================================================================

 

create proc p_test11
 @aaa int
as
 bbb:
 if @aaa < 5
    begin
      set @aaa
=@aaa+5
      goto bbb
    end
 else
    select @aaa

 

exec p_test11 3
/*
   if조건에 의해 '3'은 '5'보다 작으므로 '3+5'연산해서 나오는 '8'은
   5보다 크므로 else조건에 의해서 출력된다.
*/

exec p_test11 8 /*'8'은 '5'보다 크므로 else조건에 의해 '8'이 그대로 출력된다.*/

 

==============================================================================

 

/**/
create proc p_test12
 @aa int,
 @bb int,
 @cc int output
as

 set @cc = @aa + @bb /*set 변수명 = 값*/

/*set문은 변수에 값을 초기화하거나 특정한 값을 가져오기 위해서 사용한다.*/
go
/*OUTPUT은 C#의 out 매개변수와 같은 개념*/

 

declare @gob int /* output 변수선언 : declare @변수명 자료형 */
exec p_test12 10,10, @gob output
/* 실행만 된다 */
select @gob
/* 출력되는 것을 본다 : select @변수명  */
/*output 파라미터에서 리턴되는 값을 받아두기 위한 변수선언*/

'IT_DBMS > MSSQL' 카테고리의 다른 글

사용자 정의 함수  (0) 2006.03.09
함수 작성 구문  (0) 2006.03.09
프로시저 연습하기 2  (0) 2006.03.08
프로시저 연습하기 1  (0) 2006.03.08
파티션드 뷰 연습  (0) 2006.03.07