廣州總校區(qū)切換校區(qū)
復(fù)制成功
微信號(hào):togogoi
添加微信好友, 詳細(xì)了解課程
已復(fù)制成功,如果自動(dòng)跳轉(zhuǎn)微信失敗,請(qǐng)前往微信添加好友
打開(kāi)微信
圖片

行業(yè)新聞

數(shù)據(jù)庫(kù)根據(jù)查詢結(jié)果創(chuàng)建和復(fù)制表

發(fā)布時(shí)間: 2022-03-15

在CREATE TABLE后加上SELECT子句可以實(shí)現(xiàn)創(chuàng)建表的功能,且通過(guò)該語(yǔ)句創(chuàng)建的表包含數(shù)據(jù)記錄。

本實(shí)例創(chuàng)建一個(gè)數(shù)據(jù)表STU1,要求該表創(chuàng)建完成之后包含了STU表中所有年齡為22的學(xué)生基本信息。本實(shí)例執(zhí)行完成后,在SQL*Plus中查看表數(shù)據(jù),如圖1所示。

圖1 根據(jù)查詢結(jié)果創(chuàng)建表

【實(shí)現(xiàn)代碼】



【范例解析】

本實(shí)例將SELECT獲取到的數(shù)據(jù)記錄作為源數(shù)據(jù),重新創(chuàng)建了一個(gè)結(jié)構(gòu)與STU表相同的STU1表,并將源數(shù)據(jù)寫入到STU1表中。同樣的,如果將上述語(yǔ)句中的WHERE子句刪除,則寫入到STU1表中的數(shù)據(jù)就是STU表的全部記錄,這就實(shí)現(xiàn)了數(shù)據(jù)表的復(fù)制(包括表結(jié)構(gòu)和表數(shù)據(jù)),如圖2所示。

圖2 數(shù)據(jù)表的復(fù)制


對(duì)比本實(shí)例與實(shí)例021可以發(fā)現(xiàn),實(shí)例021實(shí)現(xiàn)的是數(shù)據(jù)表結(jié)構(gòu)的復(fù)制,而本實(shí)例實(shí)現(xiàn)的是數(shù)據(jù)表結(jié)構(gòu)和數(shù)據(jù)的復(fù)制。對(duì)比兩個(gè)實(shí)例的實(shí)現(xiàn)語(yǔ)句可以發(fā)現(xiàn),其區(qū)別在于實(shí)例021 的SELECT語(yǔ)句后加上了“WHERE 1=2”子句,由于“1=2”條件表達(dá)式的值為假(FALSE),因此表中的數(shù)據(jù)不會(huì)在創(chuàng)建表的時(shí)候?qū)懭氲叫卤碇小?br>

事實(shí)上,Oracle PL/SQL提供了一個(gè)游標(biāo)ROWNUM用于獲取記錄數(shù),如果只要求復(fù)制表結(jié)構(gòu)而不復(fù)制表數(shù)據(jù),可以使用該游標(biāo)實(shí)現(xiàn),語(yǔ)句如下:


上一篇: 數(shù)據(jù)庫(kù)返回表中的前N行記錄

下一篇: 什么是私網(wǎng)地址

<
在線咨詢 ×

您好,請(qǐng)問(wèn)有什么可以幫您?我們將竭誠(chéng)提供最優(yōu)質(zhì)服務(wù)!