将oracle SQL语句执行结果导入文本文件

文本文件批量导入sql数据库 将文本文件批量导入到SQl数据库中,导入速度很快, 立即下载

 

将oracle SQL语句执行结果导入文本文件
1 创建directory
  create or replace directory DIR
  as 'd:/temp';
  为用户赋予该directory的权限
  grant all on directroy dir to public;
 
2 创建函数function
create or replace function tofile(p_query in varchar2,
                                  p_separator in varchar2,
                                  p_dir in varchar2,
                                  p_filename in varchar2)
return number
is
  l_cursor      integer default dbms_sql.open_cursor;
  l_output      utl_file.file_type;
  l_columnValue varchar2(2000);
 l_status      integer;
  l_colCnt      number default 0; 
  l_separator   varchar2(10) default '';
  l_cnt number  default 0;
  rec_tab       dbms_sql.desc_tab;
  col_num       number;
begin
  l_output := utl_file.fopen( p_dir,p_filename,'w' );
  dbms_sql.parse( l_cursor ,p_query, dbms_sql.native ); 
 
  /*写入该SQL查询结果的列名,以空格隔开*/
  dbms_sql.describe_columns(l_cursor,l_colCnt,rec_tab);
  col_num := rec_tab.first;
  if( col_num is not null) then
     loop
       utl_file.put( l_output , l_separator||rec_tab(col_num).col_name);
       col_num := rec_tab.next(col_num);
       l_separator :=' ';
      EXIT WHEN (col_num IS NULL);
     end loop;
  end if;
    utl_file.new_line( l_output );
 
  /*写入SQL查询结果的列值*/
  for i in 1.. l_colCnt loop    
         dbms_sql.define_column( l_cursor , i,
                                 l_columnValue,2000);      
  end loop;
  l_status :=dbms_sql.execute(l_cursor);
  loop
     exit when ( dbms_sql.fetch_rows( l_cursor ) <= 0 );
     l_separator :='';
     for i in 1 .. l_colCnt loop            
        dbms_sql.column_value( l_cursor ,i,
                              l_columnValue);
        utl_file.put( l_output , l_separator || l_columnValue );     
        l_separator := p_separator;
     end loop;
     utl_file.new_line( l_output );
     l_cnt := l_cnt+1;
  end loop;
  dbms_sql.close_cursor( l_cursor );
  utl_file.fclose( l_output );
  return l_cnt;
end tofile;
3 创建执行该function的存储过程procedure
create or replace procedure test_tofile
as
    l_rows       number;
    l_filename   varchar2(100);
    v_sql        varchar2(100);
    l_temp       varchar2(100);
begin
    v_sql := 'select to_char(sysdate,''yyyymmdd'') from dual';
   EXECUTE IMMEDIATE v_sql
                INTO l_temp;
   l_filename := 'dbperform_'|| l_temp || '.txt';
   l_rows := tofile( 'SELECT fs.tablespace_name TABLESPACE_NAME,
                              df.totalspace TABLESPACE_TOTAL_SIZE,
                              (df.totalspace - fs.freespace) MB_USED,
                              fs.freespace MB_FREE,
                              round(100 * (fs.freespace / df.totalspace),2) PCT_FREE
                       FROM
                       (SELECT tablespace_name, ROUND(SUM(bytes) / 1048576) TotalSpace FROM dba_data_files GROUP BY tablespace_name ) df,
                       (SELECT tablespace_name, ROUND(SUM(bytes) / 1048576) FreeSpace FROM dba_free_space GROUP BY tablespace_name ) fs
                        WHERE df.tablespace_name = fs.tablespace_name(+)
                        order by PCT_FREE ASC',
                        ',', 'DIR', l_filename );
    dbms_output.put_line(l_rows);
end;
/*这里的'DIR'指明了directory dir,不过,由于是在WINDOWS环境,需要大写该directory名*/

4 调用该存储过程
SQL>exec test_tofile();
sql查询结果输出到文本 如果想要把sql查询的结果输出到一个文本中显示,可以按照此文本中的方法来做。 立即下载

相关推荐

MWORKS 2025a电气模型库实战:手把手教你搭建全桥LLC电路(附避坑指南)

本文详细介绍了如何使用MWORKS 2025a电气模型库搭建全桥LLC电路,包括环境准备、电路拓扑构建、参数优化及故障诊断。通过实战案例和避坑指南,帮助电源工程师高效设计谐振转换器,提升转换效率至98%以上。文章特别强调了Modelica模型库在电气系统建模中的关键作用。

s8t9u0v1w的博客 603

Oracle定时导出文件,直接跑

在有权限的情况下可以定时把你想要的查询数据导出文件,如果想做成保留历史文件的话可以在文件命名的时候加一个时间参数新建一个sql窗口 --输入以下代码创建存储过程 --输入完后按f8执行--现在没有权限跑不了--要dba创建目录,例如直接把目录给到d盘 --再把目录权限给到用户,例如给到scott用户 --执行这条语句跑一下,例如查询行政处罚所有数据,跑完去目录里找文件 --找到文件后看到符合库里集合要求,设置定时任务--右键jobs点新建 --输入以下参数 --点击应用创建成功,每天下午定

weixin_56496488的博客 972

Android车载多屏开发实战:从零搭建同显/异显Demo(附源码)

本文详细介绍了Android车载多屏开发的实战经验,从零搭建同显/异显Demo,涵盖多屏模拟、核心API调用、同显/异显架构实现及性能优化等关键环节。通过C++构建完整开发链路,帮助开发者快速掌握多屏同显和多屏异显技术,提升智能座舱系统的交互体验。附源码供参考。

weixin_29233857的博客 404

Oracle定时任务|定时执行某一SQL|数据库定时自动执行sql

提交定时任务(任务名,存储过程名,第一次执行时间,下次执行时间(每30分钟执行一次))

123po 4289

PCB设计中的规则优先级陷阱:为什么你的过孔总是十字连接?

本文深入解析PCB设计中Altium Designer规则优先级机制,解决过孔总是十字连接而非全连接的问题。通过分析铺铜连接原理和规则匹配逻辑,提供精确控制连接方式的技术实践,包括Custom Query使用和优先级最佳设置,帮助设计师避免常见陷阱,优化高速电路板的电气性能和制造可靠性。

banana的博客 468

液态神经网络(LNN):打破AI“静态快照”的连续动力学革命---AI大模型系统从零开始0029

MIT研究团队受秀丽隐杆线虫神经系统的启发,开发出革命性的液态神经网络(LNN)。该技术通过连续微分方程建模神经元动态,实现输入响应速度的自适应调节,解决了传统AI模型静态化、高能耗和低解释性的痛点。LNN具有三大突破性优势:仅需少量神经元(如20个)即可完成复杂任务;能处理非均匀时序数据;在自动驾驶、医疗监测等领域展现出卓越的适应性和鲁棒性。这项将生物智能与数学建模完美融合的技术,有望成为下一代AI的核心架构,目前已在无人机导航等场景验证了其高效性,被预测为2026年最具潜力的AI突破方向。

添柴程序猿的专栏 372

oracle定时导出查询结果,如何定时从oracle数据库中导出查询某个表的结果为文本文件...

建立java程序StrToCsv.javaimport java.io.*;import java.io.FileOutputStream;import java.io.FileWriter;public class StrToCsv{public static voidStrToCsv(String dir,String filename,String Message) throws IOE...

weixin_32176627的博客 393

快速卷积结构FIR数字滤波器的设计与ARM平台实现

本文提出了一种基于快速卷积结构的FIR数字滤波器设计与实现方案。通过Matlab设计了满足特定指标的低通FIR滤波器,采用重叠-保存法和重叠-相加法两种快速卷积算法,将计算复杂度从O(N·M)降低到O(NlogN)。详细介绍了滤波器系数生成、性能验证流程,并提供了ARM平台C语言实现的关键技术,包括定点量化处理。实验结果表明,该方法能有效滤除混合信号中的高频干扰,保留目标1kHz正弦信号,验证了设计方案的有效性。

huanghm88的专栏 123

oracle sql语句定时执行存储过程,PLSQL创建Oracle定时任务,定时执行存储过程

1、创建定时向表中插入数据的存储过程,名为testJob。CREATE OR REPLACEPROCEDURE "testJob" ASBEGINEXECUTE IMMEDIATE 'INSERT INTO TABLE_HIS SELECT * FROM TABLE_AI';COMMIT;END;2、使用plsql找到定时器对应的DBMS_Jobs文件夹,右键new。 3、设置定时任务(1)、在w...

weixin_28958535的博客 1180

Apache Kafka Connect任意文件读取漏洞(CVE-2025-27817)

由于Apache Kafka客户端未对用户输入进行严格验证和限制,未经身份验证的攻击者可通过构造恶意配置读取环境变量或磁盘任意内容,或向非预期位置发送请求,提升REST API的文件系统/环境/URL访问权限。(CVE-2025-27817)

iSee857的博客 2026

iqoo11如何获取root权限?

🏆本文收录于专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家!持续更新中,up!up!up!!

**My Coding Family** 5821

oracle查询文本,将查询结果直接写入文本文件

SQL> create directory unload_dir as'd:\oracle_unload';Directory createdSQL> grant read,write on directory unload_dir toshuju;Grant succeeded向文件输出数据测试:declarehandle utl_file.file_type;buf varchar...

weixin_26937243的博客 1028

uniapp - 微信支付报错 requestPayment:fail:HBuilder mainifest.json中配置的支付appid和生成订单使用的appid不一致,如果是HB调试请在线打包

uni-app,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,微信支付,报错,errMsg,requestPayment:fail:HBuildermainifest.json中配置的支付appid和生成订单使用的appid不一致,如果是HB调试请在线打包,http://ask.dcloud.net.cn/article/282,已经都检查了还是报错,如何解决这个问题,还是不行,错误,苹果微信支付报错,安卓app微信支付出错,打包,在线打包也不行,本地打包,支

🏆 前端领域优质创作者 3500

oracle执行sql文件返回结果,将oracle SQL语句执行结果导入文本文件

将oracle SQL语句执行结果导入文本文件1 创建directorycreate or replace directory DIRas 'd:\temp';为用户赋予该directory的权限grant all on directroy dir to public;2 创建函数functioncreate or replace function tofile(p_query in varcha...

weixin_39650139的博客 583

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Oracle 查看后台正在执行的 SQL 语句

高效监控 Oracle 后台执行的 SQL,快速定位性能瓶颈或异常操作

嗨,来了,累了把,歇息一下,暂时放下一切的纷纷扰扰,享受一份自己独处的时光 6963

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

oracle sql developer 执行sql语句,如何使用SQL Developer执行SQL语句(上)

本章摘自Murach的《Orcle SQL和PL/SQL》一书,描述了如何使用Oracle SQL Developer以及其它工具。在这一部分,我们将会学习如何使用SQL Developer来输入并执行SQL语句及脚本。如何使用摘录窗口,解决常见的语法错误等内容。在你回顾数据库设计的同时,SQL Developer还是一个很好的可输入并运行SQL语句的工具。在接下来的部分你将学习到。如何输入并执行...

weixin_39859988的博客 5274

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

ORACLE SQL语句执行流程与顺序原理解析

Oracle语句执行流程第一步:客户端把语句发给服务器端执行当我们在客户端执行SQL语句时,客户端会把这条SQL语句发送给服务器端,让服务器端的进程来处理这语句。也就是说,Oracle 客户端是不会做任何的操作,他的主要任务就是把客户端产生的一些SQL语句发送给服务器端。服务器进程从用户进程把信息接收到后, 在PGA 中就要此进程分配所需内存,存储相关的信息,如:在会话内存存储相关的登录信息等。虽...

eagle89的专栏 4580

oracle查询执行过sql语句

一、oracle中查找某段时间执行的操作记录 select sql_text, module, first_load_time from v$sqlarea where first_load_time > '2019-02-02/02:02:02' and first_load_time < '2019-02-02/02:02:02' or...

J_guangxin的博客 4308

Oracle sql语句执行顺序

sql语法的分析是从右到左   一、sql语句的执行步骤: 1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义。 2)语义分析,检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限。 3)视图转换,将涉及视图的查询语句转换为相应的对基表查询语句。 4)表达式转换, 将复杂的 SQL 表达式转换为较简单的等效连接表达式。 5)选择优化器,不同的优化器一般产生不同...

wang286480403的专栏 1835

使用Oracle的DBMS_SQL包执行动态SQL语句

 在某些场合下,存储过程或触发器里的SQL语句需要动态生成。Oracle的DBMS_SQL包可以用来执行动态SQL语句。本文通过一个简单的例子来展示如何利用DBMS_SQL包执行动态SQL语句: DECLARE       v_cursor NUMBER;       v_stat NUMBER;       v_row NUMBER;       v_id NUMBER;       v_no

Jim Yang 6384

oracle 执行带参数的sql语句_Oracle动态SQL语句的简单执行

在使用ODP.NET进行Oracle编程时,有时候SQL语句非常复杂,需要采用动态构造查询语句的情况,有两种方法可以构造动态的SQL语句,并执行返回结果集。1、在数据访问层构造SQL语句例如下面的语句,将构造完整的SQL语句赋值给CommandText,再传递到数据库进行执行,返回结果集。loadCommand.CommandType=CommandType.TextloadCommand.Com...

weixin_30941215的博客 5400

oracle数据库查询正在执行的sql,Oracle查询正在执行的SQL语句

查看 Oracle 正在执行的 sql 语句以及发起的用户SELECT b.sid oracleID,b.username 用户名,b.serial#,paddr,sql_text 正在执行的SQL,b.machine 计算机名称FROM v$process a, v$session b, v$sqlarea cWHERE a.addr = b.paddrAND b.sql_hash_value ...

weixin_28882565的博客 7022

Oracle SQL语句执行过程

1、用户在客户端执行 SQL语句时,客户端会把这条 SQL 语句发送给服务器端,让服务器端的进程来处理SQL语句。Oracle 客户端是主要任务就是把客户端产生的一些 SQL 语句发送给服务器端。 2 、服务器进程从用户进程把信息接收到后,在 PGA 中就要为进程分配所需内存,存储相关的信息 。在客户端连接上服务器后,在客户端与服务器端都会形成一个进程,客户端上的我们叫做客户端进程,而服务器上的我们叫做服务器进程。 3 、当客户端把 SQL 语句传送到服务器后,服务器进程会对该语句进行解析。这个解析的工作.

芝识分享 1447

Oracle执行SQL语句的类

 最近开发使用ASP.NET+Oracle,因此写了个在Oracle数据库中执行SQL语句的类,贴出来记录一下,如果能够using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.We

未知的以后 717

编程将文本文件导入sql

4、建个表(products表)字段有ID,ZH,PH,GD。数据类型都是整数型(ID是长整型,自增长)写个while循环读文本文档,每读一行,处理该行字符串,生成一句insert语句。2、如果是SYBASE数据库,可以使用BCP之类的工具导入(数据文件后面两列可以先使用编辑器去除,否则会合并在author列,超过列定义宽度的被截掉)。3、然后第1个跟第二个比较大小,如果第1个大于第二个,那么交换下1跟2的标签,如果第1个不大于2第二个,不交换标签,接着比较第二个跟第三个,比完最后一个为止。

aoxiangchina的博客 1342
上一篇: route详解
下一篇: 用Linux构建最好的FTP服务器
inter999
博客等级 码龄19年 18粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值