/******************************************************************/
/* 2006년 11월 3일 제출 Report */
/* Subject : DBMS (II)*/
/* Report  :: 사용자 정의 함수 2개 만들기.  두수비교 & 두수의 차 구하기*/
/* 학번 : 0 2 0 6 1 0 7 */
/* 성명 : 강 명 구*/
/*****************************************************************/

/* 1) 두 수를 입력 받아서 값이 큰 수를 출력하는 함수 */

use tempdb --tempdb 데이터베이스를 사용함.

-- 만들고자 하는 사용자 정의 함수가 잇으면 먼저 삭제함.
if object_id('dbo.sfn_max') is not null
  drop function dbo.sfn_max
go

-- 함수만들기
create function dbo.sfn_max
(@num1 varchar(20), @num2 varchar(20))
returns varchar(20)
begin
     if @num1 is null -- or @num2 is null
     set @num1='두 수를 입력하세요' 
     if @num1 > @num2                     
     set @num1 = @num1                  
     else
     set @num1 = @num2
     if @num1 is null
    set @num1='두 수를 입력하세요'

return @num1
end
go

/* 스칼라 함수 호출 */
print dbo.sfn_max(80, 90)
print dbo.sfn_max(154, 90)
print dbo.sfn_max(null, 20)
print dbo.sfn_max(20, null)
print dbo.sfn_max(null, null)


/* 2) 두 수를 입력 받아서 두 수의 차를 구하는 함수  */

drop FUNCTION dbo.sfn_difff

CREATE FUNCTION dbo.sfn_difff
  ( @num1 INT , @num2 INT ) -- 입력은 INT형식
  RETURNS INT -- 반환할 함수값 INT형

BEGIN
  DECLARE @difff INT-- aa선언

  SET @diff = 0
BEGIN
    IF @num2 > @num1 
     SET @diff = @num2 - @num1
    ELSE if @num1 > @num2
     SET @diffF = @num1 - @num2
    ELSE
        SET  @AA = 00
end
  RETURN @AA
END
GO


print dbo.sfn_difff ('11','30') 
print dbo.sfn_difff ('40,40') 
print dbo.sfn_difff ('30,11') 

2006/11/03 10:35 2006/11/03 10:35
Fluer:Mgk 이 작성.
TAGS

당신의 의견을 작성해 주세요.