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日開課,火熱報名中!更多詳情訪問思莊網站諮詢在線客服。

相關文章
相關標籤/搜索