| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Fast Forward | Next | |
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¸¦ °¡ÁöÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. (ÀÌ Á¦ÇÑ¿¡ ÀÇÇØ, °Á¦ÀûÀ¸·Î, ¼ÒÀ¯ÀÚÀÇ º¯°æÀÌ ÇÔ¼öÀÇ »èÁ¦¿Í ÀçÀÛ¼ºÀ¸·Î ½Ç½ÃÇÒ ¼ö°¡ ¾ø´Â ¾î¶°ÇÑ Ã³¸®¸¦ ½Ç½ÃÇÏÁö ¾Ê°Ô µË´Ï´Ù. ±×·¯³ª, ½´ÆÛ À¯Àú´Â ¸ðµç ÇÔ¼öÀÇ ¼ÒÀ¯ÀÚ¸¦ º¯°æÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. )
±âÁ¸ÀÇ ÇÔ¼ö¸íÀÔ´Ï´Ù(schema ¼ö½Ä¸íµµ °¡´É).
ÀμöÀÇ ¸ðµå·Î,IN,OUT, INOUTÀÇ ¸ÓÁö¾Ê¾ÆÀΰ¡ÀÔ´Ï´Ù. »ý·« µÇ¾úÀ» °æ¿ìÀÇ µðÆúÆ®´ÂINÀÔ´Ï´Ù. ÇÔ¼öÀÇ ½Äº°À» ½Ç½ÃÇÏ·Á¸é ÀÔ·Â Àμö¸¸ÀÌ ÇÊ¿äÇϹǷÎ, ½ÇÁ¦·Î´ÂALTER FUNCTION°¡OUTÀμö¸¦ ¹«½ÃÇÏ´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. ±×·¯¹Ç·Î,IN¹×INOUTÀμö¸¦ ¿°ÅÇÏ´Â °ÍÀ¸·Î ÃæºÐÇÕ´Ï´Ù.
ÀμöÀÇ À̸§ÀÔ´Ï´Ù. ÇÔ¼öÀÇ ½Äº°À» ½Ç½ÃÇÏ·Á¸é ÀμöÀÇ µ¥ÀÌÅÍÇü¸¸ÀÌ ÇÊ¿äÇϹǷÎ, ½ÇÁ¦·Î´ÂALTER FUNCTION´Â ÀμöÀÇ À̸§À» ¹«½ÃÇÏ´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä.
¸¸¾à ÀÖÀ¸¸é, ±× ÇÔ¼öÀÇ ÀμöÀÇ µ¥ÀÌÅÍÇü(º¹¼ö°¡´É)ÀÔ´Ï´Ù. (schema·Î ¼ö½Ä °¡´ÉÇÕ´Ï´Ù)
»õ·Î¿î ÇÔ¼ö¸íÀÔ´Ï´Ù.
»õ·Î¿î ÇÔ¼öÀÇ ¼ÒÀ¯ÀÚÀÔ´Ï´Ù. ÇÔ¼ö¿¡SECURITY DEFINER°¡ ÁöÁ¤µÇ°í ÀÖ´Â °æ¿ì, ±× ÈÄ´Â »õ·Î¿î ¼ÒÀ¯ÀÚÀÇ ±ÇÇÑÀ¸·Î ÇÔ¼ö°¡ ½ÇÇàµÇ´Â °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä.
ÇÔ¼öÀÇ »õ·Î¿î schemaÀÔ´Ï´Ù.
CALLED ON NULL INPUT´Â, ÀμöÀÇ ÀϺΠ¶Ç´Â ¸ðµç °ÍÀÌ NULLÀÇ °æ¿ì¿¡ ÇÔ¼ö°¡ ºÒ·Á °¡µµ·Ï(µíÀÌ) º¯°æÇÕ´Ï´Ù. RETURNS NULL ON NULL INPUTȤÀºSTRICT´Â, ÀμöÀÇ ÀϺΰ¡ NULLÀÇ °æ¿ì¿¡ ÇÔ¼ö°¡ ºÒ·Á °¡Áö ¾Ê°Ô º¯°æÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº CREATE FUNCTION À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.
ÇÔ¼öÀÇ Èֹ߼ºÀ» ÁöÁ¤ÇÑ ¼³Á¤À¸·Î º¯°æÇÕ´Ï´Ù. ÇÔ¼öÀÇ Èֹ߼º¿¡ °üÇÑ ÀÚ¼¼ÇÑ °ÍÀº CREATE FUNCTION À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.
ÇÔ¼öÀÇ ½ÃÅ¥·¯Æ¼¸¦ Á¤ÀÇÀÚ·Î ÇÏ´ÂÁö ¾Æ´ÑÁö¸¦ º¯°æÇÕ´Ï´Ù. EXTERNALŰ¿öµå´Â SQL¿ÍÀÇ È£È¯¼ºÀ» À§ÇÑ °ÍÀ̸ç, ¹«½ÃµË´Ï´Ù. ÀÌ ±â´ÉÀÇ ÀÚ¼¼ÇÑ °ÍÀº CREATE FUNCTION À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.
ÇÔ¼öÀÇ ÃßÁ¤ ½ÇÇà ÄÚ½ºÆ®¸¦ º¯°æÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº CREATE FUNCTION À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.
ÁýÇÕÀ» µ¹·ÁÁÖ´Â ÇÔ¼ö·Î µ¹·ÁÁÖ¾îÁö´Â ÃßÁ¤Çà¼ö¸¦ º¯°æÇÕ´Ï´Ù. ÀÚ¼¼ÇÑ °ÍÀº CREATE FUNCTION À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.
ÇÔ¼ö È£Ãâ½Ã·Î ¼³Á¤ ÆÄ¶ó¹ÌÅÍ¿¡ ´ëÇØ¼ ÇàÇØÁö´Â ´ëÀÔÀ» Ãß°¡ ¶Ç´Â º¯°æÇÕ´Ï´Ù. value °¡DEFAULT, ¶Ç´Â ±×°Í°ú µî°¡ÀÎRESET°¡ »ç¿ëµÇ¾úÀ» °æ¿ì, ÇÔ¼öÀÇ ±¹¼ÒÀûÀÎ ¼³Á¤Àº »èÁ¦µË´Ï´Ù. ÀÌ ¶§¹®¿¡, ÇÔ¼ö´Â ±× ȯ°æ³»¿¡ Á¸ÀçÇÏ´Â °ªÀ¸·Î ½ÇÇàµË´Ï´Ù. ¸ðµç ÇÔ¼öÀÇ ±¹¼ÒÀûÀÎ ¼³Á¤À» Á¤¸®ÇÏ°í ½ÍÀ¸¸éRESET ALL¸¦ »ç¿ëÇØ ÁÖ¼¼¿ä. SET FROM CURRENT´Â, ¼¼¼Ç¿¡ ÀÖ¾î¼ÀÇ ÆÄ¶ó¹ÌÅÍÀÇ ÇöÀç°¡¸¦ ÇÔ¼ö ±âµ¿½Ã¿¡ Àû¿ëµÇ´Â °ªÀ¸·Î ÇØ¼ º¸°üÇÕ´Ï´Ù.
¼³Á¤ °¡´ÉÇÑ ÆÄ¶ó¹ÌÅÍ¿Í ±× °ª¿¡ °üÇÑ ÀÚ¼¼ÇÑ °ÍÀº, SET ¹×Chapter 17À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä.
Ç¥ÁØ 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¿¡¼´Â »ý·« °¡´ÉÇÕ´Ï´Ù.