生成oracle sql脚本从表中获取所有数据

3qpi33ja  于 2023-06-22  发布在  Oracle
关注(0)|答案(1)|浏览(104)

如何从表中获取所有数据和所有列有些像这样。

Select  1 as id, 1 as name, .... from dual  --first row
union all
Select  2 as id, 2 as name, .... from dual  --second row
...
union all
Select  199 as id, 199 as name, .... from dual  --last row

作为一个字符串

输入参数为table_name,此参数仅适用于洲、国家、城市等小表。

ssgvzors

ssgvzors1#

是的,你可以这样做,但是:

  • 如果一个表包含1亿行会怎么样?你永远不会(实际上)“导出”或加载数据的方式。
  • 此外,使用简单的数据类型(如NUMBERS)来完成这一任务也很简单。字符串(CHARVARCHAR2)已经需要单引号,但是没问题。DATES-除了单引号之外,可能需要正确格式化。时间成分?更不用说例如。BLOB列。
  • 这应该是一个什么样的(PL/)SQL程序?一个功能?它将返回什么数据类型?参考光标?会不会是流水线?不要使用DBMS_OUTPUT

长话短说:使用为此目的而设计的实用程序,即数据泵(导出和导入)。
为什么要重新发明轮子?如果您还没有使用一些GUI工具来访问Oracle数据库,请下载并安装Oracle SQL Developer(它是一个免费工具)。
建立连接,右击源表,选择“导出”选项;设置参数,例如

完成所有向导步骤(基本上,只需单击下一步),结果保存到设计文件夹中的文件,看起来像

--------------------------------------------------------
--  File created - ponedjeljak-lipnja-19-2023   
--------------------------------------------------------
REM INSERTING into SCOTT.DEPT
SET DEFINE OFF;
Insert into SCOTT.DEPT (DEPTNO,DNAME,LOC) values ('10','ACCOUNTING','NEW YORK');
Insert into SCOTT.DEPT (DEPTNO,DNAME,LOC) values ('20','RESEARCH','DALLAS');
Insert into SCOTT.DEPT (DEPTNO,DNAME,LOC) values ('30','SALES','CHICAGO');
Insert into SCOTT.DEPT (DEPTNO,DNAME,LOC) values ('40','OPERATIONS','BOSTON');

相关问题