快速业务通道

SQL大全[2]

作者 佚名技术 来源 数据库编程 浏览 发布时间 2012-03-22
nextval
-------
    114   
在一个 INSERT 中使用此序列:
INSERT INTO distributors VALUES (nextval(''serial''),''nothing'');   
在一个 COPY FROM 后更新序列:
BEGIN;
    COPY distributors FROM ''input_file'';
    SELECT setval(''serial'', max(id)) FROM distributors;
END;   
兼容性 SQL92   
CREATE SEQUENCE是 PostgreSQL 语言扩展. 在里没有 CREATE SEQUENCE 语句.

--------------------------------------------------------------------------------

CREATE TABLE AS
CREATE TABLE AS
Name
CREATE TABLE AS -- 从一条查询的结果中创建一个新表
Synopsis
CREATE [ [ LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name [ (column_name [, ...] ) ]
    AS query
描述
CREATE TABLE AS创建一个表并且用来自 SELECT 命令计算出来的数据填充该表. 该表的字段和 SELECT 输出字段 的名字及类型相关.(只不过你可以通过明确地给出一个字段名字 列表来覆盖 SELECT 的字段名).
CREATE TABLE AS和创建视图有点象, 不过两者之间实在是有比较大差异∶它创建一个新表并且只对 SELECT 计算一次来填充这个新表. 新表不能跟踪 SELECT 的源表随后做的变化. 相比之下,每次做查询的时候,视图都重新计算 SELECT.
这条命令和 SELECT INTO有相同的功能, 但是我们建议你多用这条命令,因为它不象 SELECT ... INTO 语法那样融合和一些其它用法混淆. ,
参数
[LOCAL] TEMPORARY 或 [LOCAL] TEMP
如果声明了这个选项,则该表作为临时表创建. 临时表在会话退出的时候自动删除. 在该临时表存在的期间(本次会话), 同名的永久表是不可见的. 任何在临时表上创建的索引也自动是临时的.
LOCAL 关键字是可选的.
table_name
要创建的表名.这个表不能是已经存在的. 不过,临时表可以创建为和现有永久表同名. (译注∶这里指的是同名临时表或永久表不能已经存在)
column_name
字段的名称.多字段的名称可以用逗号分隔的字段名列表声明. 如果没有提供字段名子,那么就从查询的输出字段名中获取.
query
有效的查询语句(也就是一条 SELECT 命令),请参考 SELECT 获取可以使用的语法的描述.
诊断
请参考 CREATE TABLE和 SELECT 获取可能的输出的概要.
注意
这条命令从功能上等效于 SELECT INTO , 但是我们更建议你用这个命令,因为它不太可能和 SELECT ... INTO 语法的其它方面的使用混淆.
兼容性 SQL92
这条命令是根据 Oracle 的一个特性 制作的.在 或 SQL99 中没有功能相等的命令.不过, 把CREATE TABLE 和 INSERT ... SELECT 组合起来可以通过略微多一些的工作完成同样的事情.
历史
自 PostgreSQL 6.3 开始就已经有 CREATE TABLE AS 命令了.
又见
CREATE TABLE, CREATE VIEW , SELECT , SELECT INTO

--------------------------------------------------------------------------------

CREATE TABLE
CREATE TABLE
Name
CREATE TABLE  --  定义一个新表
Synopsis
CREATE [ [ LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name (
    { column_name data_type [ DEFAULT default_expr ] [ column_constraint [, ... ] ]
    | table_constraint } [, ... ]
)
[ INHERITS ( parent_table [, ... ] ) ]
[ WITH OIDS | WITHOUT OIDS ]

这里 column_constraint 可以是:

[ CONSTRAINT constraint_name ]
{ NOT NULL | NULL | UNIQUE | PRIMARY KEY |
CHECK (expression) |
R

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号