广州总校区切换校区
复制成功
微信号:togogoi
添加微信好友, 详细了解课程
已复制成功,如果自动跳转微信失败,请前往微信添加好友
打开微信
图片
news

新闻资讯

数据库根据查询结果创建和复制表

发布时间: 2022-03-15

在CREATE TABLE后加上SELECT子句可以实现创建表的功能,且通过该语句创建的表包含数据记录。

本实例创建一个数据表STU1,要求该表创建完成之后包含了STU表中所有年龄为22的学生基本信息。本实例执行完成后,在SQL*Plus中查看表数据,如图1所示。

图1 根据查询结果创建表

【实现代码】



【范例解析】

本实例将SELECT获取到的数据记录作为源数据,重新创建了一个结构与STU表相同的STU1表,并将源数据写入到STU1表中。同样的,如果将上述语句中的WHERE子句删除,则写入到STU1表中的数据就是STU表的全部记录,这就实现了数据表的复制(包括表结构和表数据),如图2所示。

图2 数据表的复制


对比本实例与实例021可以发现,实例021实现的是数据表结构的复制,而本实例实现的是数据表结构和数据的复制。对比两个实例的实现语句可以发现,其区别在于实例021 的SELECT语句后加上了“WHERE 1=2”子句,由于“1=2”条件表达式的值为假(FALSE),因此表中的数据不会在创建表的时候写入到新表中。

事实上,Oracle PL/SQL提供了一个游标ROWNUM用于获取记录数,如果只要求复制表结构而不复制表数据,可以使用该游标实现,语句如下:


上一篇: 数据库返回表中的前N行记录

下一篇: 什么是私网地址

<
在线咨询 ×

您好,请问有什么可以帮您?我们将竭诚提供最优质服务!