37.4. ¼±¾ð

ºí·Ï³»¿¡¼­ »ç¿ëµÇ´Â ¸ðµç º¯¼ö´Â ±× ºí·ÏÀÇ ¼±¾ðºÎ¿¡¼­ ¼±¾ðµÇ¾î¾ß ÇÕ´Ï´Ù (À¯ÀÏÇÑ ¿¹¿Ü´Â, 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;

37.4.1. ÇÔ¼ö ÀμöÀÇ º°¸í

ÇÔ¼ö¿¡°Ô °Ç³×Áö´Â ¸Å°³º¯¼öÀÇ À̸§¿¡´Â $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;

37.4.2. ÇüÅÂÀÇ º¹Á¦


variable
%TYPE

%TYPE´Â º¯¼ö³ª Å×ÀÌºí¿­ÀÇ µ¥ÀÌÅÍÇüÀ» Á¦°øÇÕ´Ï´Ù. À̰ÍÀ» »ç¿ëÇØ µ¥ÀÌÅͺ£À̽º°ªÀ» º¸°ü À¯ÁöÇÏ´Â º¯¼ö¸¦ ¼±¾ðÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é, usersÅ×ÀÌºí¿¡ user_id¶ó´Â ¿­ÀÌ ÀÖ´Â °ÍÀ¸·Î ÇÕ´Ï´Ù. users.user_id¿Í °°Àº µ¥ÀÌÅÍÇüÀÇ º¯¼ö¸¦ ¼±¾ðÇÏ·Á¸é, ÀÌÇÏ¿Í °°ÀÌ ±â¼úÇÕ´Ï´Ù.

user_id users.user_id%TYPE;

%TYPE¸¦ »ç¿ëÇÏ´Â °ÍÀ¸·Î, ÂüÁ¶ÇÏ´Â ±¸Á¶ÀÇ µ¥ÀÌÅÍÇüÀ» ÆÄ¾ÇÇÒ Çʿ䰡 ¾ø¾îÁý´Ï´Ù. ¶Ç, À̰ÍÀÌ °¡Àå Áß¿äÇÑ ÀÏÀÔ´Ï´Ù¸¸, ÂüÁ¶µÇ´Â Ç׸ñÀÇ µ¥ÀÌÅÍÇüÀÌ ÇâÈÄ º¯°æµÇ¾úÀ»(¿¹¸¦ µé¸é, user_idÀÇ Å×À̺í Á¤ÀǸ¦ integer·ÎºÎÅÍ real·Î º¯°æÇÒ) °æ¿ì¿¡¼­µµ, ÇÔ¼ö Á¤ÀǸ¦ º¯°æÇÒ Çʿ䰡 ¾ø¾îÁý´Ï´Ù.

³»ºÎ º¯¼ö¿ëÀÇ µ¥ÀÌÅÍÇüÀº È£ÃâÇÒ ¶§·Î ¹Ù²ðÁöµµ ¸ð¸£¹Ç·Î %TYPE´Â ƯÈ÷ ´Ù¾ç ÇÔ¼ö·Î À¯¿ëÇÕ´Ï´Ù. ÇÔ¼öÀÇ ÀÎÀÚ³ª °á°ú¿ëÀÇ Ç÷¹À̽ºÈ¦´õ¿¡ %TYPE¸¦ Àû¿ëÇÏ´Â °ÍÀ¸·Î, ÀûÀýÇÑ º¯¼ö¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù.

37.4.3. ÇàÇü


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 ... ;

37.4.4. ·¹ÄÚµåÇü


name
 RECORD;

·¹ÄÚµå º¯¼ö´Â ÇàÇüº¯¼ö¿Í ´à¾Æ ÀÖ½À´Ï´Ù¸¸, »çÀü¿¡ Á¤ÀÇµÈ ±¸Á¶¸¦ °¡Áö°í ÀÖÁö ¾Ê½À´Ï´Ù. À̰ÍÀº SELECT³ª FOR¸í·ÉÀÇ »çÀÌ¿¡ ´ëÀÔµÈ ÇàÀÇ ½ÇÁ¦ÀÇ Çà ±¸Á¶¸¦ ÃëÇÕ´Ï´Ù. ·¹ÄÚµå º¯¼öÀÇ ºÎ±¸Á¶´Â, ´ëÀÔÀ» ½Ç½ÃÇÒ ¶§ º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. Áï, ·¹ÄÚµå º¯¼ö´Â, ÃÖÃÊ·Î ´ëÀ﵃ ¶§±îÁö ºÎ±¸Á¶¸¦ °¡ÁöÁö ¾Ê°í , µû¶ó, Çʵ忡ÀÇ Á¢±ÙÀ» ½ÃµµÇÏ¸é ½ÇÇà½Ã ¿¡·¯°¡ ¹ß»ýÇÕ´Ï´Ù.

RECORD´Â ÁøÁ¤ÇÑ µ¥ÀÌÅÍÇüÀº ¾Æ´Ï°í, ´Ü¼øÇÑ Ç÷¹À̽ºÈ¦´õÀÎ °Í¿¡ ÁÖÀÇÇØ ÁÖ¼¼¿ä. PL/pgSQLÇÔ¼ö°¡ recordÇüÀ» µ¹·ÁÁÙ ¶§, ÀÌ ÇÔ¼ö´Â ±× °á°ú¸¦ º¸°ü À¯ÁöÇÏ´Â ·¹ÄÚµå º¯¼ö¸¦ ¹®Á¦¾øÀÌ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù¸¸, À̰ÍÀº ·¹ÄÚµå º¯¼ö·Î¼­ÀÇ °³³ä°ú´Â ¿ÏÀüÈ÷ ´Ù¸¥ °ÍÀ» ÀνÄÇØ¾ß ÇÕ´Ï´Ù. µÎ °¡Áö ¸ðµÎÀÇ °æ¿ì, ÇÔ¼öÀÇ ÀÛ¼º ´Ü°è¿¡¼­´Â ½ÇÁ¦ÀÇ Çà ±¸Á¶´Â ºÒ¸íÇÕ´Ï´Ù. ±×·¯³ª, record¸¦ µ¹·ÁÁÖ´Â ÇÔ¼ö¿¡¼­´Â, ·¹ÄÚµå º¯¼ö´Â ±× ÀÚ¸®¿¡¼­ ±× Çà ±¸Á¶¸¦ º¯°æÇÒ ¼ö ÀÖ´Â °Í¿¡µµ ºÒ±¸Çϰí, È£ÃâÇÏ´Â Äõ¸®°¡ ÇØ¼®µÈ ½ÃÁ¡¿¡¼­ ½ÇÁ¦ÀÇ ±¸Á¶°¡ °áÁ¤µË´Ï´Ù.

37.4.5. RENAME

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ÀÇ ½Ç¿ëÀûÀÎ »ç¿ë ¹æ¹ýÀÇ ´ëºÎºÐÀ» ´ë¿ëÇÒ ¼ö Àֱ⠶§¹®¿¡, ÀÌ ¼öÁ¤ÀÇ ¿ì¼± ¼øÀ§´Â ³·½À´Ï´Ù.