CREATE PROC usp_case
     @userName nvarchar(10)
AS
 DECLARE @bYear INT
 DECLARE @tti NCHAR(3) -- 띠
 SELECT @bYear = birthYear FROM userTbl
  WHERE name = @userName;

 SET @tti =

 CASE
   WHEN ( @bYear%12 =  0) THEN '원숭이'
   WHEN ( @bYear%12 =  1) THEN '닭'
   WHEN ( @bYear%12 =  2) THEN '개'
   WHEN ( @bYear%12 =  3) THEN '돼지'
   WHEN ( @bYear%12 =  4) THEN '쥐'
   WHEN ( @bYear%12 =  5) THEN '소'
   WHEN ( @bYear%12 =  6) THEN '호랑이'
   WHEN ( @bYear%12 =  7) THEN '토끼'
   WHEN ( @bYear%12 =  8) THEN '용'
   WHEN ( @bYear%12 =  9) THEN '뱀'
   WHEN ( @bYear%12 =  10) THEN '말'
   ELSE '양'
  END;

 

PRINT @userName + '의 띠==> ' + @tti;

CREATE PROCEDURE   USP_IFELSE
      @userName  NVARCHAR(10)
AS
        DECLARE @bYear   INT
        SELECT @bYear = birthyear FROM USETBL
          WHERE NAME = @useName;

 

        IF ( @bYear >= 1980 )
            BEGIN
                   //..............
            END
        ELSE
            BEGIN
                   //...................
            END

예)  1개

use sqlDB;
GO
CREATE PROCEDURE USP_USER1
@userName NVARCHAR(10)
AS
 SELECT * FROM USERTBL WHERE NAME = @userName ;

실행)

exec usp_users1 'ㅌㅌㅌㅌ';

 

 

예) 2개

CREATE PROCEDURE USP_USER2
@userBirth      INT,
@userHeight    INT
AS
 SELECT * FROM USERTBL 
  WHERE birthYear > @userBirth AND height > @userHeight;

실행)

EXEC USP_USER2 1980, 180;

 

 

예) 출력매개변수 사용시

CREATE PROCEDURE USP_USER4

@txtValue        NCHAR(10),
@outValue       INT OUTPUT
AS
INSERT INTO TESTTBL VALUES ( @txtValue );
SELECT @outValue = IDENT_CURRENT('testTbl');
-- 테이블의 identity값

'DBMS > T-SQL' 카테고리의 다른 글

SQL server 2005 오류상태파악 함수  (0) 2009.06.21
저장프로시져 @@ERROR함수 사용 예  (0) 2009.06.21
저장프로시져 WHILE문 예  (0) 2009.06.21
저장프로시져 CASE문 예  (0) 2009.06.21
저장프로시져 IF .. ELSE 사용예  (0) 2009.06.21

+ Recent posts