| PostgreSQL 8.3.3¹®¼ | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Chapter 37. PL/pgSQL - SQL¼ö¼Ó ¾ð¾î | Fast Forward | Next |
ºí·Ï³»¿¡¼ »ç¿ëµÇ´Â ¸ðµç º¯¼ö´Â ±× ºí·ÏÀÇ ¼±¾ðºÎ¿¡¼ ¼±¾ðµÇ¾î¾ß ÇÕ´Ï´Ù (À¯ÀÏÇÑ ¿¹¿Ü´Â, FOR·çÇÁÀÎ Á¤¼ö°ªÀÇ ¹üÀ§¿¡ °Ç³Ê ¹Ýº¹ÇØÁö´Â ·çÇÁ º¯¼ö·Î, ÀÌ´Â ÀÚµ¿ÀûÀ¸·Î Á¤¼öÇü º¯¼ö·Î¼ ¼±¾ðµË´Ï´Ù).
PL/pgSQLº¯¼ö´Â, integer, varchar, char¶ó´Â, ÀÓÀÇÀÇ SQL µ¥ÀÌÅÍÇüÀ» °¡Áú ¼ö°¡ ÀÖ½À´Ï´Ù.
º¯¼ö ¼±¾ðÀÇ ¿¹¸¦ ÀÌÇÏ¿¡ ³ªÅ¸³À´Ï´Ù.
user_id integer; quantity numeric(5); url varchar; myrow tablename%ROWTYPE; myfield tablename.columnname%TYPE; arow RECORD;
º¯¼ö ¼±¾ðÀÇ ÀϹÝÀûÀÎ ±¸¹®Àº ÀÌÇÏ¿Í °°½À´Ï´Ù.
name [ CONSTANT ] type [ NOT NULL ] [ { DEFAULT | := } expression ];
DEFAULT±¸°¡ ÁöÁ¤µÇ¾úÀ» °æ¿ì, ºí·Ï¿¡ µé¾î°¬À» ¶§¿¡ º¯¼ö¿¡ ´ëÀԵǴ ÃʱⰪÀ» ÁöÁ¤ÇÕ´Ï´Ù. DEFAULT±¸°¡ ÁöÁ¤µÇÁö ¾Ê´Â °æ¿ì, º¯¼ö´Â SQLÀÇ NULL°ª¿¡ Ãʱâȵ˴ϴÙ. CONSTANT¿É¼Ç¿¡ ÀÇÇØ, ±× ºí·Ï³»¿¡¼ ±× °ªÀÌ ºÒº¯Çϵµ·Ï, ±× º¯¼ö¿¡ÀÇ ´ëÀÔÀº ±ÝÁöµË´Ï´Ù. NOT NULL°¡ ÁöÁ¤µÇ¾úÀ» °æ¿ì, NULL°ªÀÇ ´ëÀÔÀº ½ÇÇà½Ã ¿¡·¯°¡ µË´Ï´Ù. NOT NULL·Î¼ ¼±¾ðÇÑ º¯¼ö´Â ¸ðµÎ, ºñNULLÀÇ µðÆúÆ®°ªÀ» ÁöÁ¤ÇØ¾ß ÇÕ´Ï´Ù.
±âº»°ªÀº ºí·Ï¿¡ µé¾î°¥ ¶§¿¡ Æò°¡µÇ¾î º¯¼ö¿¡ ´ëÀԵ˴ϴÙ. ±×·¯´Ï±î, ¿¹¸¦ µé¸é now()¸¦ timestampÇüÀÇ º¯¼ö¿¡ ´ëÀÔÇÏ´Â °ÍÀ¸·Î, ±× º¯¼ö¿¡´Â ÇÔ¼ö¸¦ ÇÁ¸®ÄÄÆÄÀÏ ÇßÀ» ¶§°¡ ¾Æ´Ñ, ÇÔ¼ö È£Ãâ½ÃÀÇ ÇöÀç ½Ã°¢ÀÌ ÀúÀåµË´Ï´Ù.
Examples:
quantity integer DEFAULT 32; url varchar := 'http://mysite.com'; user_id CONSTANT integer := 10;
ÇÔ¼ö¿¡°Ô °Ç³×Áö´Â ¸Å°³º¯¼öÀÇ À̸§¿¡´Â $1, $2À̶ó´Â ½Äº°ÀÚ¸¦ ºÙÀÏ ¼ö ÀÖ½À´Ï´Ù. ¿É¼ÇÀ¸·Î¼ $n¶ó´Â ¸Å°³º¯¼ö¸í¿¡ º°¸íÀ» ¼±¾ðÇÒ ¼ö ÀÖ¾î °¡µ¶¼ºÀÌ Çâ»óÇÕ´Ï´Ù. ¼±ÅÃÀûÀ¸·Î, º°¸íÀ̳ª ¼ýÀÚ¿¡ ÀÇÇÑ ½Äº°ÀÚ, ¾çÂÊ ¸ðµÎ ÀÎÀÚÀÇ °ªÀ» ÂüÁ¶ÇÒ ¶§¿¡ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
º°¸íÀ» »ý¼ºÇÏ´Â µÎ°¡Áö ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. CREATE FUNCTION¸í·É¿¡¼ÀÇ ¸Å°³º¯¼ö°¡ À̸§À» ÁÖ´Â ¹æ¹ýÀÌ ¼±È£µË´Ï´Ù. ¿¹¸¦µé¸é:
CREATE FUNCTION sales_tax(subtotal real) RETURNS real AS $$
BEGIN
RETURN subtotal * 0.06;
END;
$$ LANGUAGE plpgsql;
´Ù¸¥ ¹æ¹ýÀº, ¼±¾ð ±¸¹®À» ÀÌ¿ëÇØ º°¸íÀ» ¸íÈ®ÇÏ°Ô ¼±¾ðÇÏ´Â °ÍÀÔ´Ï´Ù. À̰ÍÀº PostgreSQL 8.0 ÀÌÀü¿¡, À¯ÀÏÇÑ ¹æ¹ýÀÔ´Ï´Ù.
name ALIAS FOR $ n ;
ÀÌÇÏ¿¡ ÀÌ ¹æ¹ý¿¡ µû¸£´Â ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.
CREATE FUNCTION sales_tax(real) RETURNS real AS $$
DECLARE
subtotal ALIAS FOR $1;
BEGIN
RETURN subtotal * 0.06;
END;
$$ LANGUAGE plpgsql;
ÇÑÃþ ´õ ¿©·¯ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.
CREATE FUNCTION instr(varchar, integer) RETURNS integer AS $$
DECLARE
v_string ALIAS FOR $1;
index ALIAS FOR $2;
BEGIN
-- v_string ¿Í À妽º¸¦ »ç¿ëÇÑ ¾î¶°ÇÑ ¿¬»êÀ» ÇàÇÑ´Ù
END;
$$ LANGUAGE plpgsql;
CREATE FUNCTION concat_selected_fields(in_t sometablename) RETURNS text AS $$
BEGIN
RETURN in_t.f1 || in_t.f3 || in_t.f5 || in_t.f7;
END;
$$ LANGUAGE plpgsql;
PL/pgSQLÇÔ¼ö°¡ Ãâ·Â ¸Å°³º¯¼ö¿Í ÇÔ²² ¼±¾ðµÇ¸é, Åë»óÀÇ ÀÔ·Â ¸Å°³º¯¼ö¿Í °°°Ô, Ãâ·Â ¸Å°³º¯¼ö¿¡´Â $ n ¶ó´Â ¸Å°³º¯¼ö¸í°ú ÀÓÀÇÀÇ º°¸íÀÌ ÁÖ¾îÁý´Ï´Ù. Ãâ·Â ¸Å°³º¯¼ö´Â ½ÇÁúÀûÀ¸·Î´Â ù¹øÂ°°¡ NULL°ªÀÇ º¯¼öÀ̸ç, ÇÔ¼öÀÇ ½ÇÇàÁß¿¡ °ªÀÌ ÁöÁ¤µÇ¾î¾ß ÇÕ´Ï´Ù. Ãâ·Â ¸Å°³º¯¼öÀÇ ¸¶Áö¸· °ªÀº, ¹Ýȯ°ªÀÔ´Ï´Ù. ¿¹¸¦ µé¸é, ¼Òºñ¼¼ÀÇ ¿¹Á¦´Â, ´ÙÀ½°ú °°ÀÌ ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
CREATE FUNCTION sales_tax(subtotal real, OUT tax real) AS $$
BEGIN
tax := subtotal * 0.06;
END;
$$ LANGUAGE plpgsql;
RETURNS real¸¦ »ý·« Çß´ø °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. »ðÀÔÇÒ ¼öµµ ÀÖ½À´Ï´Ù¸¸, ÀåȲÇÏ°Ô µË´Ï´Ù.
Ãâ·Â ¸Å°³º¯¼ö´Â º¹¼öÀÇ °ªÀ» µ¹·ÁÁÙ ¶§¿¡, °¡Àå À¯¿ëÇÏ°Ô µË´Ï´Ù. °£´ÜÇÑ ¿¹Á¦¸¦ ³ªÅ¸³À´Ï´Ù.
CREATE FUNCTION sum_n_product(x int, y int, OUT sum int, OUT prod int) AS $$
BEGIN
sum := x + y;
prod := x * y;
END;
$$ LANGUAGE plpgsql;
Section 33.4.3¿¡¼ ¸»ÇÑ °Íó·³, ÀÌ ¹æ¹ýÀº ÇÔ¼öÀÇ °á°ú¿¡ ´ëÇÑ À͸íÀÇ ·¹ÄÚµåÇüÀ» ½ÇÁúÀûÀ¸·Î ÀÛ¼ºÇÕ´Ï´Ù. RETURNS±¸°¡ ÁÖ¾îÁ³À» ¶§´Â, RETURNS record¶ó°í ¸»ÇؾßÇÕ´Ï´Ù.
PL/pgSQLÇÔ¼öÀÇ ¹Ýȯ°ªÀÌ ´Ù¾çÇü(anyelement, anyarray, anynonarray ¶Ç´Â anyenum)À¸·Î¼ ¼±¾ðµÇ¸é, Ưº°ÇÑ $0¸Å°³º¯¼ö°¡ ÀÛ¼ºµË´Ï´Ù. ÀÌ µ¥ÀÌÅÍÇüÀÌ, ½ÇÁ¦ÀÇ ÀÔ·ÂÇüÀ¸·ÎºÎÅÍ ÃßÁ¤(Section 33.2.5¸¦ ÂüÁ¶)µÈ ÇÔ¼öÀÇ ½ÇÁ¦ÀÇ ¹Ýȯ°ªÇüÀÔ´Ï´Ù. $0´Â NULL·Î ÃʱâȵǾî ÇÔ¼ö³»¿¡¼ º¯°æÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ±×·¯¹Ç·Î, Çʼö´Â ¾Æ´Õ´Ï´Ù¸¸, À̰ÍÀ» ¹Ýȯ°ªÀ» º¸°ü À¯ÁöÇϱâ À§Çؼ »ç¿ëÇØµµ »ó°ü¾ø½À´Ï´Ù. ¶Ç $0¿¡ º°¸íÀ» ºÎ¿©ÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é, ÀÌÇÏÀÇ ÇÔ¼ö´Â +¿¬»êÀÚ¸¦ °¡Áö´Â ÀÓÀÇÀÇ µ¥ÀÌÅÍÇü¿¡ ´ëÇØ¼ °¡µ¿ÇÕ´Ï´Ù.
CREATE FUNCTION add_three_values(v1 anyelement, v2 anyelement, v3 anyelement)
RETURNS anyelement AS $$
DECLARE
result ALIAS FOR $0;
BEGIN
result := v1 + v2 + v3;
RETURN result;
END;
$$ LANGUAGE plpgsql;
1°³ ÀÌ»óÀÇ Ãâ·Â ¸Å°³º¯¼ö¸¦ ´Ù¾çÇüÀ¸·Î¼ ¼±¾ðÇÏ´Â °ÍÀ¸·Î½á, °°Àº °á°ú¸¦ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì, Ư¼öÇÑ $0¸Å°³º¯¼ö´Â »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. Ãâ·Â ¸Å°³º¯¼ö ÀÚ½ÅÀÌ °°Àº ¸ñÀûÀ» Á¦°øÇÕ´Ï´Ù. ÀÌÇÏ¿¡ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.
CREATE FUNCTION add_three_values(v1 anyelement, v2 anyelement, v3 anyelement,
OUT sum anyelement)
AS $$
BEGIN
sum := v1 + v2 + v3;
END;
$$ LANGUAGE plpgsql;
variable %TYPE
%TYPE´Â º¯¼ö³ª Å×À̺í¿ÀÇ µ¥ÀÌÅÍÇüÀ» Á¦°øÇÕ´Ï´Ù. À̰ÍÀ» »ç¿ëÇØ µ¥ÀÌÅͺ£À̽º°ªÀ» º¸°ü À¯ÁöÇÏ´Â º¯¼ö¸¦ ¼±¾ðÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é, usersÅ×ÀÌºí¿¡ user_id¶ó´Â ¿ÀÌ ÀÖ´Â °ÍÀ¸·Î ÇÕ´Ï´Ù. users.user_id¿Í °°Àº µ¥ÀÌÅÍÇüÀÇ º¯¼ö¸¦ ¼±¾ðÇÏ·Á¸é, ÀÌÇÏ¿Í °°ÀÌ ±â¼úÇÕ´Ï´Ù.
user_id users.user_id%TYPE;
%TYPE¸¦ »ç¿ëÇÏ´Â °ÍÀ¸·Î, ÂüÁ¶ÇÏ´Â ±¸Á¶ÀÇ µ¥ÀÌÅÍÇüÀ» ÆÄ¾ÇÇÒ Çʿ䰡 ¾ø¾îÁý´Ï´Ù. ¶Ç, À̰ÍÀÌ °¡Àå Áß¿äÇÑ ÀÏÀÔ´Ï´Ù¸¸, ÂüÁ¶µÇ´Â Ç׸ñÀÇ µ¥ÀÌÅÍÇüÀÌ ÇâÈÄ º¯°æµÇ¾úÀ»(¿¹¸¦ µé¸é, user_idÀÇ Å×À̺í Á¤ÀǸ¦ integer·ÎºÎÅÍ real·Î º¯°æÇÒ) °æ¿ì¿¡¼µµ, ÇÔ¼ö Á¤ÀǸ¦ º¯°æÇÒ Çʿ䰡 ¾ø¾îÁý´Ï´Ù.
³»ºÎ º¯¼ö¿ëÀÇ µ¥ÀÌÅÍÇüÀº È£ÃâÇÒ ¶§·Î ¹Ù²ðÁöµµ ¸ð¸£¹Ç·Î %TYPE´Â ƯÈ÷ ´Ù¾ç ÇÔ¼ö·Î À¯¿ëÇÕ´Ï´Ù. ÇÔ¼öÀÇ ÀÎÀÚ³ª °á°ú¿ëÀÇ Ç÷¹À̽ºÈ¦´õ¿¡ %TYPE¸¦ Àû¿ëÇÏ´Â °ÍÀ¸·Î, ÀûÀýÇÑ º¯¼ö¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.
name table_name %ROWTYPE; name composite_type_name ;
º¹ÇÕÇüÀÇ º¯¼ö´Â, Çຯ¼ö(¶Ç´ÂÇàÇüº¯¼ö)·Î ºÒ¸³´Ï´Ù. ÀÌ·¯ÇÑ º¯¼ö¿¡´Â, Äõ¸®ÀÇ ¿ÁýÇÕÀÌ º¯¼öÀÇ ÇüÅ ¼±¾ð°ú ÀÏÄ¡ÇÏ´Â ÇÑ, SELECT³ª FORÄõ¸®ÀÇ °á°úÀÇ Çà Àüü¸¦ º¸°ü À¯ÁöÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. Çà º¯¼öÀÇ °³°³ÀÇ Çʵ尪¿¡´Â, ¿¹¸¦ µé¸é, rowvar.field¶ó´Â µµÆ® ±â¹ýÀ» »ç¿ëÇØ Á¢±Ù ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
table_name %ROWTYPE¶ó´Â ±â¹ýÀ» »ç¿ëÇØ, ±âÁ¸ÀÇ Å×À̺íÀ̳ª ºäÀÇ Çà°ú °°Àº ÇüŸ¦ °¡Áö´Â Çà º¯¼ö¸¦ ¼±¾ðÇÒ ¼ö ÀÖ½À´Ï´Ù. ȤÀº, º¹ÇÕÇüÀÇ À̸§À» ºÎ¿©ÇØ ¼±¾ðÇÒ ¼ö ÀÖ½À´Ï´Ù (¸ðµç Å×À̺íÀº, °°Àº À̸§ÀÇ °ü·ÃÇÏ´Â º¹ÇÕÇüÀ» °¡Áö±â ¶§¹®¿¡, ½ÇÁ¦ÀÇ PostgreSQL¿¡¼´Â, %ROWTYPE¶ó°í ½áµµ, ¾²Áö ¾Ê¾Æµµ ¹®Á¦µÇÁö ¾Ê½À´Ï´Ù. ±×·¯³ª, %ROWTYPE°¡ º¸´Ù À̽ļºÀÌ ³ô¾ÆÁý´Ï´Ù).
ÇÔ¼ö¿¡ÀÇ ¸Å°³º¯¼ö·Î¼ º¹ÇÕÇü(Å×À̺íÇà Àüü)À» ÃëÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ±× °æ¿ì, ´ëÀÀÇÏ´Â ½Äº°ÀÚ$ n ÇÏÇà º¯¼öÀ̸ç, ±× Çʵ带, ¿¹¸¦ µé¾î, $1. user_id·Î ¼±ÅÃÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
Å×À̺íÇàÀÇ »ç¿ëÀÚ Á¤ÀÇÀÇ ¼Ó¼º¿¡¸¸ ÇàÇüº¯¼ö·Î Á¢±Ù ÇÒ ¼ö ÀÖ½À´Ï´Ù. OID³ª ±× ¿ÜÀÇ ½Ã½ºÅÛ ¼Ó¼º¿¡´Â Á¢±Ù ÇÒ ¼ö ¾ø½À´Ï´Ù(ºä·ÎºÎÅÍÀÇ ÇàÀÌ ÀÖ±â À§Çؼ). ÇàÇüÀÇ Çʵå´Â, ¿¹¸¦ µé¸é char( n )µîÀÇ Å×À̺íÀÇ ÇʵåÀÇ Å©±â³ª µ¥ÀÌÅÍÇüÀÇ Á¤¹Ðµµ¸¦ °è½ÂÇÕ´Ï´Ù.
ÀÌÇÏ¿¡ º¹ÇÕÇüÀ» »ç¿ëÇÏ´Â ¿¹¸¦ ³ªÅ¸³À´Ï´Ù. table1 ¹× table2´Â, Àû¾îµµ ¾ð±ÞµÈ Çʵ带 °¡Áö´Â ½ÇÁ¦ Å×À̺íÀÔ´Ï´Ù.
CREATE FUNCTION merge_fields(t_row table1) RETURNS text AS $$
DECLARE
t2_row table2%ROWTYPE;
BEGIN
SELECT * INTO t2_row FROM table2 WHERE ... ;
RETURN t_row.f1 || t2_row.f3 || t_row.f5 || t2_row.f7;
END;
$$ LANGUAGE plpgsql;
SELECT merge_fields(t.*) FROM table1 t WHERE ... ;
name RECORD;
·¹ÄÚµå º¯¼ö´Â ÇàÇüº¯¼ö¿Í ´à¾Æ ÀÖ½À´Ï´Ù¸¸, »çÀü¿¡ Á¤ÀÇµÈ ±¸Á¶¸¦ °¡Áö°í ÀÖÁö ¾Ê½À´Ï´Ù. À̰ÍÀº SELECT³ª FOR¸í·ÉÀÇ »çÀÌ¿¡ ´ëÀÔµÈ ÇàÀÇ ½ÇÁ¦ÀÇ Çà ±¸Á¶¸¦ ÃëÇÕ´Ï´Ù. ·¹ÄÚµå º¯¼öÀÇ ºÎ±¸Á¶´Â, ´ëÀÔÀ» ½Ç½ÃÇÒ ¶§ º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. Áï, ·¹ÄÚµå º¯¼ö´Â, ÃÖÃÊ·Î ´ëÀ﵃ ¶§±îÁö ºÎ±¸Á¶¸¦ °¡ÁöÁö ¾Ê°í , µû¶ó, Çʵ忡ÀÇ Á¢±ÙÀ» ½ÃµµÇÏ¸é ½ÇÇà½Ã ¿¡·¯°¡ ¹ß»ýÇÕ´Ï´Ù.
RECORD´Â ÁøÁ¤ÇÑ µ¥ÀÌÅÍÇüÀº ¾Æ´Ï°í, ´Ü¼øÇÑ Ç÷¹À̽ºÈ¦´õÀÎ °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. PL/pgSQLÇÔ¼ö°¡ recordÇüÀ» µ¹·ÁÁÙ ¶§, ÀÌ ÇÔ¼ö´Â ±× °á°ú¸¦ º¸°ü À¯ÁöÇÏ´Â ·¹ÄÚµå º¯¼ö¸¦ ¹®Á¦¾øÀÌ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù¸¸, À̰ÍÀº ·¹ÄÚµå º¯¼ö·Î¼ÀÇ °³³ä°ú´Â ¿ÏÀüÈ÷ ´Ù¸¥ °ÍÀ» ÀνÄÇØ¾ß ÇÕ´Ï´Ù. µÎ °¡Áö ¸ðµÎÀÇ °æ¿ì, ÇÔ¼öÀÇ ÀÛ¼º ´Ü°è¿¡¼´Â ½ÇÁ¦ÀÇ Çà ±¸Á¶´Â ºÒ¸íÇÕ´Ï´Ù. ±×·¯³ª, record¸¦ µ¹·ÁÁÖ´Â ÇÔ¼ö¿¡¼´Â, ·¹ÄÚµå º¯¼ö´Â ±× ÀÚ¸®¿¡¼ ±× Çà ±¸Á¶¸¦ º¯°æÇÒ ¼ö ÀÖ´Â °Í¿¡µµ ºÒ±¸Çϰí, È£ÃâÇÏ´Â Äõ¸®°¡ ÇØ¼®µÈ ½ÃÁ¡¿¡¼ ½ÇÁ¦ÀÇ ±¸Á¶°¡ °áÁ¤µË´Ï´Ù.
RENAME oldname TO newname ;
RENAME¼±¾ðÀ» »ç¿ëÇØ, º¯¼ö, ·¹ÄÚµå, ÇàÀÇ À̸§À» º¯°æÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. À̰ÍÀº ÁÖ·Î, Å©¸®°Å ÇÁ·Î½ÃÀúÀÇ ¾ÈÂÊ¿¡¼ NEW³ª OLD¸¦ ´Ù¸¥ À̸§À¸·Î ÂüÁ¶ÇØ¾ß ÇÏ´Â °æ¿ì¿¡ À¯¿ëÇÕ´Ï´Ù. ALIASµµ ÂüÁ¶ÇØ ÁÖ¼¼¿ä.
ÀÌÇÏ¿¡ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.
RENAME id TO user_id; RENAME this_var TO that_var;
Note: RENAME´Â, PostgreSQL 7.3ÀÇ ½ÃÁ¡¿¡¼´Â ¸Á°¡Áø °Í °°½À´Ï´Ù. ALIAS·Î RENAMEÀÇ ½Ç¿ëÀûÀÎ »ç¿ë ¹æ¹ýÀÇ ´ëºÎºÐÀ» ´ë¿ëÇÒ ¼ö Àֱ⠶§¹®¿¡, ÀÌ ¼öÁ¤ÀÇ ¿ì¼± ¼øÀ§´Â ³·½À´Ï´Ù.