Username: Password:

SELECT INTO
来源: 作者: 发布时间:2008-04-15 00:00:00

Name
SELECT INTO  --  从一个查询的结果中创建一个新表

Synopsis
SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]
    * | expression [ AS output_name ] [, ...]
    INTO [ TEMPORARY | TEMP ] [ TABLE ] new_table
    [ FROM from_item [, ...] ]
    [ WHERE condition ]
    [ GROUP BY expression [, ...] ]
    [ HAVING condition [, ...] ]
    [ { UNION | INTERSECT | EXCEPT } [ ALL ] select ]
    [ ORDER BY expression [ ASC | DESC | USING operator ] [, ...] ]
    [ FOR UPDATE [ OF tablename [, ...] ] ]
    [ LIMIT { count , ] { count | ALL } ]
    [ OFFSET start ]

这里
from_item 能够是:

[ ONLY ] table_name [ * ]
    [ [ AS ] alias [ ( column_alias_list ) ] ]
|
( select )
    [ AS ] alias [ ( column_alias_list ) ]
|
from_item [ NATURAL ] join_type from_item
    [ ON join_condition | USING ( join_column_list ) ]

  输入 
TEMPORARY
TEMP
假如声明了这个关键字,那么该表是作为一个临时表创建的. 请参考 CREATE TABLE 获取细节.

new_table
要创建的表的表名(能够有大纲修饰).

 任何其他输入的域都在 SELECT 中有周详描述.

输出
请参考 CREATE TABLE 和 SELECT 获取任何可能输出信息的摘要.

描述
SELECT INTO 从一个查询的计算结果中创建一个新表. 书局并不返回给客户端,这一点和普通的 SELECT 不同.新表的字段具备和 SELECT 的输出字段 相关联(相同)的名字和数据类型.
注意: CREATE TABLE AS 的作用和 SELECT INTO 相同. 我们建议使用 CREATE TABLE AS 语法, 因为 SELECT INTO 不是标准语法. 实际上,这种类型的 SELECT INTO 是不能在 PL/pgSQL或ecpg中使用的, 因为他们对 INTO 子句的解释是不同的.

 兼容性
SQL92 用 SELECT ... INTO 表示选取数值到一个 宿主程式的标量变量中,而不是创建一个新表. SQL92 的用法实际上就是在PL/pgSQL和 ecpg里的用途. PostgreSQL 用 SELECT INTO 代表创建表的意思是历史原因.在新代码里我们 最好使用 CREATE TABLE AS 实现这个目地. (CREATE TABLE AS 也不是标准,但至少他 出现混淆的机会少一些.)

喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅