.\" auto-generated by docbook2man-spec $Revision: 1.1 $ .TH "CREATE TABLE AS" "7" "2003-11-02" "SQL - Language Statements" "SQL Commands" .SH NAME CREATE TABLE AS \- 從一條查詢的結果中建立一個新表 .SH SYNOPSIS .sp .nf CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE \fItable_name\fR [ (\fIcolumn_name\fR [, ...] ) ] AS \fIquery\fR .sp .fi .SH "DESCRIPTION 描述" .PP \fBCREATE TABLE AS\fR 建立一個表並且用來自 SELECT 命令計算出來的資料填充該表。 該表的欄位和 SELECT 輸出欄位的名字及型別相關。 (只不過你可以透過明確地給出一個欄位名字列表來覆蓋 SELECT 的欄位名)。 .PP \fBCREATE TABLE AS\fR 和建立檢視有點象, 不過兩者之間實在是有比較大差異:它建立一個新表並且只對 SELECT 計算一次來填充這個新表。 新表不能跟蹤 SELECT 的源表隨後做的變化。 相比之下,每次做查詢的時候,檢視都重新計算定義它的 SELECT 語句。 .SH "PARAMETERS 引數" .TP \fBTEMPORARY or TEMP\fR 如果聲明瞭這個選項,則該表作為臨時表建立。 參閱 CREATE TABLE [\fBcreate_table\fR(7)] 獲取細節。 .TP \fB\fItable_name\fB\fR 要建立的表名(可以是用模式修飾的)。 .TP \fB\fIcolumn_name\fB\fR 欄位的名稱。如果沒有提供欄位名字,那麼就從查詢的輸出欄位名中獲取。 如果表是一個 EXECUTE 命令建立的, 那麼當前就不能宣告欄位名列表。 .TP \fB\fIquery\fB\fR 一個查詢語句(也就是一條 SELECT 命令或者一條執行準備好的 SELECT 命令的 EXECUTE 命令),請分別參考 SELECT [\fBselect\fR(7)] 或者 EXECUTE [\fBexecute\fR(l)] 獲取可以使用的語法的描述。 .SH "NOTES 注意" .PP 這條命令從功能上等效於 SELECT INTO [\fBselect_into\fR(7)], 但是我們更建議你用這個命令,因為它不太可能和 SELECT ... INTO 語法的其它方面的使用混淆。 .SH "COMPATIBILITY 相容性" .PP 這條命令是根據 Oracle 的一個特性製作的。 在 SQL 標準中沒有功能相等的命令。不過, 把 CREATE TABLE 和 INSERT ... SELECT 組合起來可以透過略微多一些的工作完成同樣的事情。 .SH "SEE ALSO 參見" CREATE TABLE [\fBcreate_table\fR(7)], CREATE VIEW [\fBcreate_view\fR(l)], EXECUTE [\fBexecute\fR(l)], SELECT [\fBselect\fR(l)], SELECT INTO [\fBselect_into\fR(l)] .SH "譯者" .B Postgresql 中文網站 .B 何偉平 .SH "跋" .br 本頁面中文版由中文 man 手冊頁計劃提供。 .br 中文 man 手冊頁計劃:\fBhttps://github.com/man-pages-zh/manpages-zh\fR