¾È±Ô °øºÎ¹æ

MS-SQL > User Function -

µî·ÏÀÏ : 2017-07-03 19:14 Á¶È¸¼ö : 52,424

¾È³çÇϼ¼¿ä. ȨÁö±â ÀÔ´Ï´Ù. ^^;;
 	
 	2004³â À̳׿ä.....
 	
 	MS_SQL´Â ¸¹Àº ±â´ÉµéÀÌ ÀÖ½À´Ï´Ù. Àú·Î½á´Â ¼¿¼öµµ ¾øÀ» Á¤µµ·Î ¸¹ÀÌ ÀÖÁö¿ä.
 	±×Áß¿¡´Â GETDATE() , SUBSTRING() , INSULL() °ú °°ÀÌ ¿ì¸®°¡ À¯¿ëÇÏ°Ô »ç¿ëÇÏ´Â 
 	ÇÔ¼öµéÀÌ ÀÖ½À´Ï´Ù.
 	
 	±×·¯³ª, ¸¹Àº ÇÁ·Î±×·¥¸Ó µéÀº ½Ã½ºÅÛÇÔ¼ö¸¸À» °¡Áö°í ¸ðµç µ¥ÀÌŸº£À̽º ÀÚ·áµéÀ»
 	Çڵ鸵Çϱ⿡´Â ÇÑ°è°¡ ÀÖ´Ù°í ºÎ¸£Áþ½À´Ï´Ù. 
 	
 	Âü,,, ¾ÈŸ±õ½À´Ï´Ù..... Á»´õ ¸¹°í À¯¿ëÇÑ ÇÔ¼öµéÀÌ ÀÖ´Ù¸é, ¾ó¸¶³ª ÁÁÀ»±î¿ä?
 	Àúµµ  ÇÁ·ÎÁ§Æ®µéÀ» Çϸ鼭 ¼öµµ¾øÀÌ ±×·± ¹®Á¦µéÀ» ¸¸³ª°Ô µÈ´ä´Ï´Ù.
 	
 	¿¹¸¦ µé¾î  Å×À̺íÀÇ ÀÚ·áµéÀ» »Ì¾Æ¼­ ÇÔ¼ö¿¡ ³Ö¾îµÎ°í ÀÎÀÚ°ª¸¸À» ³Ñ°Ü¼­ Å×À̺íÀÇ
 	¿øÇÏ´Â ³»¿ëµéÀ» »Ì¾Æ¿Ã¼ö ÀÖÀ¸¸é ¾ó¸¶³ª ÁÁÀ»±î¿ä?
 	
 	¿À¶óŬÀÇ °æ¿ì´Â decode ¶ó´Â°Ô À־ IF~THEN ELSE ±â´ÉÀ» ³Ö¾î¼­ ½±°Ô Á¶°Ç ºñ±³¸¦
 	ÇÏ°Ô ÇÏ´Â ÇÔ¼ö°¡ ÀÖ½À´Ï´Ù.
 	
 	MS_SQL ÀÇ °æ¿ìµµ 	
 	
 	
 	case when non='0' then 'ÃʱÞ'
		when non='1' then 'Áß±Þ'
		when non='2' then '°í±Þ'
	end 
	
	
	°°Àº ±â´ÉÀÌ ÀÖ±â´Â ÇÏÁö¸¸, »ó´çÈ÷ ±æ°í ºÒÆíÇÒ¼ö ÀÖÁö¿ä????
	
	´õ¿í ¸¹Àº ÇÔ¼ö¸¦ »ç¿ëÇÏ°í ½ÍÀ»¶§´Â »ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö¸¦ ¸¸µé¾î¼­ »ç¿ëÇϽǼö ÀÖ½À´Ï´Ù.
	
	CREATE FUNCTION ¹®À» »ç¿ëÇؼ­ ¸¸µé°í ALTER FUNCTION ¹®À» ÀÌ¿ëÇؼ­ ¼öÁ¤ÇÏ°í,
	
	DROP FUNCTION¹®À» ÀÌ¿ëÇÏ¿© »èÁ¦ÇϽǼö ÀÖ½À´Ï´Ù.
	
	
	FUNCTION ±¸¹®
		
		CREATE FUNCTION [ owner_name.] function_name
			( [ { @parameter_name [AS] scalar_parameter_data_type [ = default ] }
			[,... n] ] )
		RETURNS scalar_return_data_type
		[ WITH < function_option> [ [,] ....n ]
		[ AS ]
		BEGIN
			function_body
			RETURN scalar_expression
		END	
		
	
	FUNCTION ±â´ÉÀº MS_SQL 2000 ºÎÅÍ Áö¿øÇÏ´Â ±â´ÉÀÔ´Ï´Ù.
	
	±×·³, »õ·Î¿î ÇÔ¼ö¸¦ ¸¸µé¾î º¸µµ·Ï ÇÏ°Ú½À´Ï´Ù.
	
	
	CREATE FUNCTION V_AREA
		(@W int, @H int)
	returns int
	as
	begin
		return(@W * @H)
	end		
	
	
	À§¿Í °°ÀÌ V_AREA »ç¿ëÀÚ ÇÔ¼ö¸¦ ¸¸µé¾ú½À´Ï´Ù.
	
	
	
	
	@W °ª°ú @H °ªÀ» ¹Þ¾Æ¼­ W*H °ªÀ» ±¸ÇÏ´Â »ç¿ëÀÚ ÇÔ¼ö¸¦ ¸¸µé¾î º¸¾Ò½À´Ï´Ù.
	
	±×·³, Äõ¸®ºÐ¼®±â¿¡¼­ µ¹¸®¸é ¾î¶»°Ô µÉ±î¿ä?
	
	½Ç¾Æ·¡ÀÇ ±×¸²Àº ½ÇÇàÈ­¸é ÀÔ´Ï´Ù.
	
	

 	¾î¶²°¡¿ä????
 	
 	½±Áö¿ä?? ¹®¹ýÀÇ Æ¯¼º»ó ÇÁ·Î½ÃÁ® ±¸¹®°ú ¸¹ÀÌ Èí»çÇϱ⠶§¹®¿¡ ¾î·Æ°Ô ´À²¸ÁöÁö´Â ¾ÊÀ¸½Ç°Å¶õ
 	»ý°¢À» ÇØ º¾´Ï´Ù.
 	
 	±×·³, À§ÀÇ  V_AREA ÇÔ¼ö¸¦ ÀÌ¿ëÇÏ¿© °£´ÜÇÑ ÀÀ¿ëÀ» ÇØ º¸µµ·Ï ÇÏ°Ú½À´Ï´Ù.
 	
 	¿ª½Ã³ª °£´ÜÇÑ°ÍÀ̱⠶§¹®¿¡ ÁýÁßÇÏ½Ç ÇÊ¿ä´Â ¾øÀ¸½Ç°Í °°½À´Ï´Ù.
 	
 	À§ÀÇ ÇÔ¼ö¸¦ ÀÌ¿ëÇÑ ¿¹Á¦ ÀÔ´Ï´Ù.
 	
 	
 	select board_idx,title,dbo.V_area(num,2) as num from board1
 	
 	
 	Äõ¸®ºÐ¼®±â¿¡¼­ À§ ¼Ò½º¸¦ µ¹·Áº¸¼¼¿ä. 
 	°Ô½ÃÆÇÀÇ num °¡ ÀÖ½À´Ï´Ù.
 	
 	ÀÌ°ªÀ» @W ·Î ³Ö°í @H °ª¿¡ 2 °ªÀ» ³Ö¾ú½À´Ï´Ù.
 	
 	°ªÀ» Ãâ·ÂÇØ º¸¸é, NUM*2 °ªÀÌ µÇ¾î¼­ Ãâ·ÂµÇ´Â°É ¾Ë¼ö ÀÖÀ¸½Ç °Ì´Ï´Ù.
 	
 	À§ÀÇ ÇÔ¼ö´Â ³Ê¹«³ª °£´ÜÇÑ ÇÔ¼öÀ̱⠶§¹®¿¡ ¾µ¸ð°¡ ¾ø´Ù°í ´À²¸Áö½ÇÁö ¸ð¸£°ÚÀ¸³ª,
 	
 	¿ø¸®¸¦ Àß ÀÌÇØÇϽøé, ÀÀ¿ëÀº ¾ó¸¶µçÁö °¡´ÉÇϸ®¶õ »ý°¢ÀÌ µì´Ï´Ù.
 	
 	¿À´Ã ¹è¿î ³»¿ëÀº ½ºÄ®¶óÇÔ¼ö ¶ó°í ÇÕ´Ï´Ù.
 	
 	
 	
 	½ºÄ®¶óÇÔ¼ö´Â ´ÜÀÏ µ¥ÀÌÅÍ °ªÀ» ÇÔ¼ö¸¦ ¸»ÇÑ´ä´Ï´Ù.
 	
 	´ÙÀ½½Ã°£Àº Å×À̺íÀÇ °ªÀ» ºÒ·¯¿À´Â ¿¹Á¦¸¦ ÇØ º¸µµ·Ï ÇÏ°Ú½À´Ï´Ù.

¡Ø Ȥ½Ã µµ¿òÀÌ µÇ¼Ì´Ù¸é ´ñ±Û¿¡ ÇѸ¶µð ³²°ÜÁÖ¼¼¿ä!
ÀÛ¼ºÀÚ   ºñ¹Ð¹øÈ£
ÀÚµ¿±Û ¹æÁö     (ÀÚµ¿±Û ¹æÁö ±â´ÉÀÔ´Ï´Ù.)
³»¿ë   ´ñ±Û´Þ±â 
À̸ÞÀÏ ¹®ÀÇ : cak0280@nate.com  
Copyright 2000 By ENTERSOFT.KR All Rights Reserved.