美文网首页
sqlserver与oracle使用子查询创建表的区别

sqlserver与oracle使用子查询创建表的区别

作者: 重庆思庄 | 来源:发表于2018-12-17 14:54 被阅读5次

    我们知道,有时想创建一个表的复制,我们使用

    SQL> create table big_test as select * from all_objects;

    表已创建。

    SQL> desc big_test;

    名称 是否为空? 类型

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

    OWNER NOT NULL VARCHAR2(30)

    OBJECT_NAME NOT NULL VARCHAR2(30)

    SUBOBJECT_NAME VARCHAR2(30)

    OBJECT_ID NOT NULL NUMBER

    DATA_OBJECT_ID NUMBER

    OBJECT_TYPE VARCHAR2(19)

    CREATED NOT NULL DATE

    LAST_DDL_TIME NOT NULL DATE

    TIMESTAMP VARCHAR2(19)

    STATUS VARCHAR2(7)

    TEMPORARY VARCHAR2(1)

    GENERATED VARCHAR2(1)

    SECONDARY VARCHAR2(1)

    NAMESPACE NOT NULL NUMBER

    EDITION_NAME VARCHAR2(30)

    SQL> select count(*) from big_test;

    COUNT(*)

    ----------

    71651

    SQL>

    那在sqlserver中,我们创建一个备份表 ,怎么做呢,

    --我们看到sqlserver中,没有类似的create table as 这种语法

    ---

    1> create table big_test as select * from sys.all_objects;

    2> go

    消息 156,级别 15,状态 1,服务器 RAC1,第 1 行

    关键字 'as' 附近有语法错误。

    1>

    2>

    --- 解决办法,是使用into new_table的方式来解决

    3> select * into big_test from sys.all_objects;

    4> go

    (2006 行受影响)

    1> select count(*) from big_test;

    2> go

    -----------

    2006

    (1 行受影响)

    1>

    数据库认证

    相关文章

      网友评论

          本文标题:sqlserver与oracle使用子查询创建表的区别

          本文链接:https://www.haomeiwen.com/subject/krxckqtx.html