ALTER FUNCTION

Name

ALTER FUNCTION -- ÇÔ¼ö Á¤ÀǸ¦ º¯°æÇÑ´Ù

Synopsis

ALTER FUNCTION 
name
 ( [ [ 
argmode
 ] [ 
argname
 ] 
argtype
 [, ...] ] )
    
action
 [ ... ] [ RESTRICT ]
ALTER FUNCTION 
name
 ( [ [ 
argmode
 ] [ 
argname
 ] 
argtype
 [, ...] ] )
    RENAME TO 
new_name

ALTER FUNCTION 
name
 ( [ [ 
argmode
 ] [ 
argname
 ] 
argtype
 [, ...] ] )
    OWNER TO 
new_owner

ALTER FUNCTION 
name
 ( [ [ 
argmode
 ] [ 
argname
 ] 
argtype
 [, ...] ] )
    SET SCHEMA 
new_schema


¿©±â¼­,
action
´Â ÀÌÇÏÀÇ ¸ÓÁö¾Ê¾ÆÀΰ¡ÀÔ´Ï´Ù.

    CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT
    IMMUTABLE | STABLE | VOLATILE
    [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER
    COST 
execution_cost

    ROWS 
result_rows

    SET 
configuration_parameter
 { TO | = } { 
value
 | DEFAULT }
    SET 
configuration_parameter
 FROM CURRENT
    RESET 
configuration_parameter

    RESET ALL

¼³¸í

ALTER FUNCTION´Â ÇÔ¼ö Á¤ÀǸ¦ º¯°æÇÕ´Ï´Ù.

ALTER FUNCTION¸¦ »ç¿ëÇÏ·Á¸é ÇÔ¼öÀÇ ¼ÒÀ¯ÀÚ°¡ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù. ÇÔ¼öÀÇ schema¸¦ º¯°æÇÏ·Á¸é , »õ·Î¿î schema¿¡ À־ÀÇCREATE±ÇÇѵµ ÇÊ¿äÇÕ´Ï´Ù. ¼ÒÀ¯ÀÚ¸¦ º¯°æÇÏ·Á¸é , Á÷Á¢ ¶Ç´Â °£Á¢ÀûÀ¸·Î »õ·Î¿î ·ÑÀÇ ¸â¹ö°¡ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù. ¶Ç, ±× ·ÑÀÌ ÇÔ¼öÀÇ schema¿¡ ´ëÇØCREATE¸¦ °¡ÁöÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. (ÀÌ Á¦ÇÑ¿¡ ÀÇÇØ, °­Á¦ÀûÀ¸·Î, ¼ÒÀ¯ÀÚÀÇ º¯°æÀÌ ÇÔ¼öÀÇ »èÁ¦¿Í ÀçÀÛ¼ºÀ¸·Î ½Ç½ÃÇÒ ¼ö°¡ ¾ø´Â ¾î¶°ÇÑ Ã³¸®¸¦ ½Ç½ÃÇÏÁö ¾Ê°Ô µË´Ï´Ù. ±×·¯³ª, ½´ÆÛ À¯Àú´Â ¸ðµç ÇÔ¼öÀÇ ¼ÒÀ¯ÀÚ¸¦ º¯°æÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. )

ÆÄ¶ó¹ÌÅÍ

name

±âÁ¸ÀÇ ÇÔ¼ö¸íÀÔ´Ï´Ù(schema ¼ö½Ä¸íµµ °¡´É).

argmode

ÀμöÀÇ ¸ðµå·Î,IN,OUT, INOUTÀÇ ¸ÓÁö¾Ê¾ÆÀΰ¡ÀÔ´Ï´Ù. »ý·« µÇ¾úÀ» °æ¿ìÀÇ µðÆúÆ®´ÂINÀÔ´Ï´Ù. ÇÔ¼öÀÇ ½Äº°À» ½Ç½ÃÇÏ·Á¸é ÀÔ·Â Àμö¸¸ÀÌ ÇÊ¿äÇϹǷÎ, ½ÇÁ¦·Î´ÂALTER FUNCTION°¡OUTÀμö¸¦ ¹«½ÃÇÏ´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. ±×·¯¹Ç·Î,IN¹×INOUTÀμö¸¦ ¿­°ÅÇÏ´Â °ÍÀ¸·Î ÃæºÐÇÕ´Ï´Ù.

argname

ÀμöÀÇ À̸§ÀÔ´Ï´Ù. ÇÔ¼öÀÇ ½Äº°À» ½Ç½ÃÇÏ·Á¸é ÀμöÀÇ µ¥ÀÌÅÍÇü¸¸ÀÌ ÇÊ¿äÇϹǷÎ, ½ÇÁ¦·Î´ÂALTER FUNCTION´Â ÀμöÀÇ À̸§À» ¹«½ÃÇÏ´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä.

argtype

¸¸¾à ÀÖÀ¸¸é, ±× ÇÔ¼öÀÇ ÀμöÀÇ µ¥ÀÌÅÍÇü(º¹¼ö°¡´É)ÀÔ´Ï´Ù. (schema·Î ¼ö½Ä °¡´ÉÇÕ´Ï´Ù)

new_name

»õ·Î¿î ÇÔ¼ö¸íÀÔ´Ï´Ù.

new_owner

»õ·Î¿î ÇÔ¼öÀÇ ¼ÒÀ¯ÀÚÀÔ´Ï´Ù. ÇÔ¼ö¿¡SECURITY DEFINER°¡ ÁöÁ¤µÇ°í ÀÖ´Â °æ¿ì, ±× ÈÄ´Â »õ·Î¿î ¼ÒÀ¯ÀÚÀÇ ±ÇÇÑÀ¸·Î ÇÔ¼ö°¡ ½ÇÇàµÇ´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä.

new_schema

ÇÔ¼öÀÇ »õ·Î¿î schemaÀÔ´Ï´Ù.

CALLED ON NULL INPUT
RETURNS NULL ON NULL INPUT
STRICT

CALLED ON NULL INPUT´Â, ÀμöÀÇ ÀϺΠ¶Ç´Â ¸ðµç °ÍÀÌ NULLÀÇ °æ¿ì¿¡ ÇÔ¼ö°¡ ºÒ·Á °¡µµ·Ï(µíÀÌ) º¯°æÇÕ´Ï´Ù. RETURNS NULL ON NULL INPUTȤÀºSTRICT´Â, ÀμöÀÇ ÀϺΰ¡ NULLÀÇ °æ¿ì¿¡ ÇÔ¼ö°¡ ºÒ·Á °¡Áö ¾Ê°Ô º¯°æÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº CREATE FUNCTION À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

IMMUTABLE
STABLE
VOLATILE

ÇÔ¼öÀÇ Èֹ߼ºÀ» ÁöÁ¤ÇÑ ¼³Á¤À¸·Î º¯°æÇÕ´Ï´Ù. ÇÔ¼öÀÇ Èֹ߼º¿¡ °üÇÑ ÀÚ¼¼ÇÑ °ÍÀº CREATE FUNCTION À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

[ EXTERNAL ] SECURITY INVOKER
[ EXTERNAL ] SECURITY DEFINER

ÇÔ¼öÀÇ ½ÃÅ¥·¯Æ¼¸¦ Á¤ÀÇÀÚ·Î ÇÏ´ÂÁö ¾Æ´ÑÁö¸¦ º¯°æÇÕ´Ï´Ù. EXTERNALŰ¿öµå´Â SQL¿ÍÀÇ È£È¯¼ºÀ» À§ÇÑ °ÍÀ̸ç, ¹«½ÃµË´Ï´Ù. ÀÌ ±â´ÉÀÇ ÀÚ¼¼ÇÑ °ÍÀº CREATE FUNCTION À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

COST execution_cost

ÇÔ¼öÀÇ ÃßÁ¤ ½ÇÇà ÄÚ½ºÆ®¸¦ º¯°æÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº CREATE FUNCTION À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

ROWS result_rows

ÁýÇÕÀ» µ¹·ÁÁÖ´Â ÇÔ¼ö·Î µ¹·ÁÁÖ¾îÁö´Â ÃßÁ¤Çà¼ö¸¦ º¯°æÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº CREATE FUNCTION À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

configuration_parameter
value

ÇÔ¼ö È£Ãâ½Ã·Î ¼³Á¤ ÆÄ¶ó¹ÌÅÍ¿¡ ´ëÇØ¼­ ÇàÇØÁö´Â ´ëÀÔÀ» Ãß°¡ ¶Ç´Â º¯°æÇÕ´Ï´Ù. value °¡DEFAULT, ¶Ç´Â ±×°Í°ú µî°¡ÀÎRESET°¡ »ç¿ëµÇ¾úÀ» °æ¿ì, ÇÔ¼öÀÇ ±¹¼ÒÀûÀÎ ¼³Á¤Àº »èÁ¦µË´Ï´Ù. ÀÌ ¶§¹®¿¡, ÇÔ¼ö´Â ±× ȯ°æ³»¿¡ Á¸ÀçÇÏ´Â °ªÀ¸·Î ½ÇÇàµË´Ï´Ù. ¸ðµç ÇÔ¼öÀÇ ±¹¼ÒÀûÀÎ ¼³Á¤À» Á¤¸®ÇÏ°í ½ÍÀ¸¸éRESET ALL¸¦ »ç¿ëÇØ ÁÖ¼¼¿ä. SET FROM CURRENT´Â, ¼¼¼Ç¿¡ À־ÀÇ ÆÄ¶ó¹ÌÅÍÀÇ ÇöÀç°¡¸¦ ÇÔ¼ö ±âµ¿½Ã¿¡ Àû¿ëµÇ´Â °ªÀ¸·Î ÇØ¼­ º¸°üÇÕ´Ï´Ù.

¼³Á¤ °¡´ÉÇÑ ÆÄ¶ó¹ÌÅÍ¿Í ±× °ª¿¡ °üÇÑ ÀÚ¼¼ÇÑ °ÍÀº, SET ¹×Chapter 17À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.

RESTRICT

Ç¥ÁØ SQL¿ÍÀÇ È£È¯¼ºÀ» À§ÇÑ °ÍÀ̸ç, ¹«½ÃµË´Ï´Ù.

·Ê

integerÇü¿ëÀÇsqrtÇÔ¼öÀÇ À̸§À»square_root·Î º¯°æÇÕ´Ï´Ù.

ALTER FUNCTION sqrt(integer) RENAME TO square_root;

integerÇü¿ëÀÇsqrtÇÔ¼öÀÇ ¼ÒÀ¯ÀÚ¸¦joe·Î º¯°æÇÕ´Ï´Ù.

ALTER FUNCTION sqrt(integer) OWNER TO joe;

integerÇü¿ëÀÇsqrtÇÔ¼öÀÇ schema¸¦maths·Î º¯°æÇÕ´Ï´Ù.

ALTER FUNCTION sqrt(integer) SET SCHEMA maths;

ÇÔ¼ö¿ëÀ¸·Î °Ë»ö ÆÐ½º¸¦ ÀÚµ¿ÀûÀ¸·Î ¼³Á¤Çϵµ·Ï(µíÀÌ) Á¶Á¤ÇÕ´Ï´Ù.

ALTER FUNCTION check_password(text) SET search_path = admin, pg_temp;

ÇÔ¼ö¿ëÀÇsearch_pathÀÇ ÀÚµ¿ ¼³Á¤À» ¹«È¿·Î ÇÕ´Ï´Ù.

ALTER FUNCTION check_password(text) RESET search_path;

È£Ãâ¿øÀ¸·Î »ç¿ëµÇ´Â °Ë»ö ÆÐ½º·Î ÀÌ ÇÔ¼ö°¡ ½ÇÇàµÇ°Ô µË´Ï´Ù.

ȣȯ¼º

ÀÌ ¹®ÀåÀÇ ÀϺδ ǥÁØ SQLÀÇALTER FUNCTION¹®¿¡ µû¸£°í ÀÖ½À´Ï´Ù. Ç¥ÁØ¿¡¼­´Â º¸´Ù ¸¹Àº ÇÔ¼öÀÇ ¼Ó¼ºÀ» º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù¸¸, ÇÔ¼ö¸íÀÇ º¯°æ, ÇÔ¼ö¸¦ Á¤ÀÇÀÚÀÇ ±ÇÇÑÀ¸·Î ½ÇÇàÇÒÁö ¾î¶³ÁöÀÇ º¯°æ, ÇÔ¼ö¿Í ¼³Á¤ ÆÄ¶ó¹ÌÅÍÄ¡°¡ °ü·ÃÁö¾î ÇÔ¼öÀÇ ¼ÒÀ¯ÀÚ³ª schema, Èֹ߼ºÀÇ º¯°æÀ» ½Ç½ÃÇÏ´Â ±â´ÉÀº ¾ø½À´Ï´Ù. ¶Ç, Ç¥ÁØ¿¡¼­´ÂRESTRICTŰ¿öµå¸¦ Çʼö·Î Çϰí ÀÖ½À´Ï´Ù¸¸,PostgreSQL¿¡¼­´Â »ý·« °¡´ÉÇÕ´Ï´Ù.

°ü·Ã Ç׸ñ

CREATE FUNCTION , DROP FUNCTION