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

咱们知道,有时想建立一个表的复制,咱们使用sql

SQL> create table big_test as select * from all_objects;服务器

表已建立。sqlserver

SQL> desc big_test;网站

名称 是否为空? 类型server

----------------------------------------- -------- --------------------------table

OWNER NOT NULL VARCHAR2(30)test

OBJECT_NAME NOT NULL VARCHAR2(30)object

SUBOBJECT_NAME VARCHAR2(30)select

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

那在sqlserver中,咱们建立一个备份表 ,怎么作呢,

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

---

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

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

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

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

3> select * into big_test from sys.all_objects;

(2006 行受影响)

1> select count(*) from big_test;

-----------

2006

(1 行受影响)

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

重庆思庄18年3月OCP认证培训周末班正在面授,欢迎联系试听!新的OCP周末班将于4月1日开课,火热报名中!更多详情访问思庄网站咨询在线客服。

相关文章
相关标签/搜索