| PostgreSQL 8.0.4 ʸ½ñ | ||||
|---|---|---|---|---|
| Á°¤Î¥Ú¡¼¥¸ | ´¬Ìᤷ | ÁáÁ÷¤ê | ¼¡¤Î¥Ú¡¼¥¸ | |
CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name [ (column_name [, ...] ) ] [ [ WITH | WITHOUT ] OIDS ]
CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name
AS queryCREATE TABLE AS¤Ï¥Æ¡¼¥Ö¥ë¤òºîÀ®¤·¡¢SELECT ¥³¥Þ¥ó¥É¡¢¤Þ¤¿¤Ï¡¢½àÈ÷ºÑ¤ÎSELECT¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ëEXECUTE¥³¥Þ¥ó¥É¤Ë¤è¤Ã¤Æ»»½Ð¤µ¤ì¤ë¥Ç¡¼¥¿¤ò³ÊǼ¤·¤Þ¤¹¡£ ¥Æ¡¼¥Ö¥ë¤ÎÎó¤ÏSELECT¤Î½ÐÎÏÎó¤È´ØÏ¢¤¹¤ë̾Á°¤È¥Ç¡¼¥¿·¿¤ò»ý¤Á¤Þ¤¹(¤¿¤À¤· ¤³¤ÎÎó̾¤Ï¿·¤·¤¤Îó̾¤òÌÀ¼¨¤·¤¿¥ê¥¹¥È¤òÅϤ¹¤³¤È¤Ç̵¸ú¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹)¡£
CREATE TABLE AS¤Ï¥Ó¥å¡¼¤ÎºîÀ®¤È»÷¤Æ¤¤¤ëÉôʬ¤¬¤¢¤ê¤Þ¤¹¤¬¡¢¼ÂºÝ¤ÏÁ´¤¯°Û¤Ê¤ê¤Þ¤¹¡£ CREATE TABLE AS¤Ï¿·¤·¤¤¥Æ¡¼¥Ö¥ë¤òºîÀ®¤·¡¢¿·¤·¤¤¥Æ¡¼¥Ö¥ë¤ÎÆâÍÆ¤ò½é´ü²½¤¹¤ë¤¿¤á¤Ë°ìÅÙ¤À¤±¤½¤ÎÌ䤤¹ç¤ï¤»¤òɾ²Á¤·¤Þ¤¹¡£ ¤½¤ì°Ê¹ß¹Ô¤Ê¤ï¤ì¤¿¡¢Ì䤤¹ç¤ï¤»¤Î¸µ¥Æ¡¼¥Ö¥ë¤ËÂФ¹¤ëÊѹ¹¤Ï¡¢¿·¤·¤¤¥Æ¡¼¥Ö¥ë¤Ë¤ÏÈ¿±Ç¤µ¤ì¤Þ¤»¤ó¡£ È¿ÂФˡ¢¥Ó¥å¡¼¤ÏÌ䤤¹ç¤ï¤»¤é¤ì¤ëÅÙ¤ËÄêµÁ¤·¤Æ¤¤¤ëSELECTʸ¤òºÆÉ¾²Á¤·¤Þ¤¹¡£
¸ß´¹À¤Î¤¿¤á¤Ë̵»ë¤µ¤ì¤Þ¤¹¡£ ¾ÜºÙ¤ÏCREATE TABLE¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
»ØÄꤵ¤ì¤¿¾ì¹ç¡¢¥Æ¡¼¥Ö¥ë¤Ï°ì»þ¥Æ¡¼¥Ö¥ë¤È¤·¤ÆºîÀ®¤µ¤ì¤Þ¤¹¡£ ¾ÜºÙ¤ÏCREATE TABLE¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
ºîÀ®¤¹¤ë¥Æ¡¼¥Ö¥ë¤Î̾Á°¤Ç¤¹(¥¹¥¡¼¥Þ½¤¾þ̾¤Ç¤â²Ä)¡£
¿·¤·¤¤¥Æ¡¼¥Ö¥ë¤Ë¤ª¤±¤ëÎó¤Î̾Á°¤Ç¤¹¡£ Îó̾¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤Ï¡¢Ì䤤¹ç¤ï¤»¤Î½ÐÎÏÎó̾¤«¤é¼è¤é¤ì¤Þ¤¹¡£ EXECUTE¥³¥Þ¥ó¥É¤Î¼Â¹Ô¤Ë¤è¤Ã¤Æ¥Æ¡¼¥Ö¥ë¤¬ºîÀ®¤µ¤ì¤ë¾ì¹ç¡¢Îó̾¤Î¥ê¥¹¥È¤ò»ØÄê¤Ç¤¤Þ¤»¤ó¡£
¤³¤Î¾Êά²Äǽ¤Ê¶ç¤Ï¡¢CREATE TABLE AS¤ÇºîÀ®¤µ¤ì¤ë¥Æ¡¼¥Ö¥ë¤¬OID¤ò»ý¤Ä¤«¤É¤¦¤«¤ò»ØÄꤷ¤Þ¤¹¡£ ¤³¤Î¶ç¤Î¤¤¤º¤ì¤â»ØÄꤷ¤Æ¤¤¤Ê¤«¤Ã¤¿¾ì¹ç¤Ïdefault_with_oidsÀßÄê¥Ñ¥é¥á¡¼¥¿¤ÎÃͤ¬»ÈÍѤµ¤ì¤Þ¤¹¡£
Ì䤤¹ç¤ï¤»Ê¸(¤Ä¤Þ¤ê¡¢SELECT¥³¥Þ¥ó¥É¡¢¤â¤·¤¯¤Ï¡¢½àÈ÷ºÑ¤ÎSELECT¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ëEXECUTE¥³¥Þ¥ó¥É)¤Ç¤¹¡£ ǧ¤á¤é¤ì¤ë¹½Ê¸¤ÎÀâÌÀ¤Ï¡¢¤½¤ì¤¾¤ì¡¢SELECT¡¢¤â¤·¤¯¤Ï¡¢EXECUTE¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
¤³¤Î¥³¥Þ¥ó¥É¤Ï¡¢SELECT INTO¤ÈƱ¤¸µ¡Ç½¤ò»ý¤Á¤Þ¤¹¤¬¡¢SELECT INTO¹½Ê¸¤Î¾¤Î»ÈÍÑÊýË¡¤Èº®Í𤹤ë²ÄǽÀ¤¬¾¯¤Ê¤¤¤¿¤á¡¢¤³¤Á¤é¤ò»ÈÍѤ¹¤ëÊý¤¬Îɤ¤¤Ç¤·¤ç¤¦¡£ ¹¹¤Ë¡¢CREATE TABLE AS¤Ï¡¢SELECT INTO¤¬Ä󶡤¹¤ëµ¡Ç½¤Î¥¹¡¼¥Ñ¡¼¥»¥Ã¥È¤òÄ󶡤·¤Þ¤¹¡£
PostgreSQL8.0¤è¤êÁ°¤Ç¤Ï¡¢CREATE TABLE AS¤¬À¸À®¤¹¤ë¥Æ¡¼¥Ö¥ë¤Ï¾ï¤ËOID¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤·¤¿¡£ PostgresSQL 8.0¤Ç¤Ï¡¢¥æ¡¼¥¶¤ÏÌÀ¼¨Åª¤ËCREATE TABLE AS¥³¥Þ¥ó¥É¤¬OID¤ò´Þ¤á¤ë¤«¤É¤¦¤«¤ò»ØÄê¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£ ¤â¤·ÌÀ¼¨Åª¤ËOID¤Î¸ºß¤ò»ØÄꤷ¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢default_with_oidsÀßÄêÊÑ¿ô¤¬»ÈÍѤµ¤ì¤Þ¤¹¡£ ¸½»þÅÀ¤Ç¤Ïdefault_with_oids¤Î¥Ç¥Õ¥©¥ë¥È¤Ï¿¿¤Ç¤¹¤¬¡¢º£¸åÊѹ¹¤µ¤ì¤ë²ÄǽÀ¤¬¤¢¤ê¤Þ¤¹¡£ ¤½¤Î¤¿¤á¡¢CREATE TABLE AS¤¬À¸À®¤¹¤ë¥Æ¡¼¥Ö¥ë¤Ë¤ª¤¤¤ÆOID¤¬É¬ÍפȤʤ륢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤ÏÌÀ¼¨Åª¤ËWITH OIDS¤òÉÕÍ¿¤·¡¢¾Íè¤Î¥Ð¡¼¥¸¥ç¥ó¤ÎPostgreSQL¤Ç¤â¸ß´¹À¤ò³ÎÊݤǤ¤ë¤è¤¦¤Ë¤¹¤Ù¤¤Ç¤¹¡£
films¤ÎºÇ¶á¤Î¹àÌܤΤߤ«¤é¹½À®¤µ¤ì¤ë¡¢¿·¤·¤¤films_recent¥Æ¡¼¥Ö¥ë¤òºîÀ®¤·¤Þ¤¹¡£
CREATE TABLE films_recent AS SELECT * FROM films WHERE date_prod >= '2002-01-01';
CREATE TABLE AS¤ÏSQL:2003ɸ½à¤Çµ¬Äꤵ¤ì¤Æ¤¤¤Þ¤¹¡£ SQL:2003¤Ë¤ª¤±¤ë¥³¥Þ¥ó¥ÉÄêµÁ¤ÈPostgreSQL¤Ë¤ª¤±¤ë¼ÂÁõ¤È¤Î´Ö¤Ë¤Ï°Ê²¼¤Î¤è¤¦¤Ê°ã¤¤¤¬¤¢¤ê¤Þ¤¹¡£
ɸ½à¤Ç¤ÏÉûÌ䤤¹ç¤ï¤»¶ç¤ò³ç¸Ì¤Ç³ç¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤¬¡¢PostgreSQL¤Ç¤Ï¤³¤Î³ç¸Ì¤Ï¾Êά²Äǽ¤Ç¤¹¡£
ɸ½à¤Ç¤ÏON COMMIT¶ç¤òÄêµÁ¤·¤Æ¤¤¤Þ¤¹¤¬¡¢¸½ºß¤ÎPostgreSQL¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
ɸ½à¤Ç¤ÏWITH DATA¶ç¤òÄêµÁ¤·¤Æ¤¤¤Þ¤¹¤¬¡¢¸½ºß¤ÎPostgreSQL¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
| Á°¤Î¥Ú¡¼¥¸ | ¥Û¡¼¥à | ¼¡¤Î¥Ú¡¼¥¸ |
| CREATE TABLE | ¾å¤ËÌá¤ë | CREATE TABLESPACE |