oracle 数据库 查询结构拼接输出到本地文件

--① 创建目录
create or replace directory ORACLE_TEST as 'd:\\testtmp';
--② 存储过程
create or replace procedure proc(stuid   tb_student.stuid%type,
                                 stuname tb_student.stuname%type,
                                 stuage  tb_student.stuage%type) as
  cou      number; -- 插入条数
  str      varchar2(255); -- 姓名拼接 
  output   varchar2(30000); -- 输出内容
  file     UTL_FILE.FILE_TYPE;
-- 此处  ORACLE_TEST 一定为大写
  location all_directories.directory_name%TYPE := 'ORACLE_TEST';

begin
  select count(1) into cou from tb_student;
  if cou < 5 then
    insert into tb_student
      (stuid, stuname, stuage)
    values
      (stuid, stuname, stuage);
  else
    dbms_output.put_line('已经插入五条数据了');
    --wmsys.wm_concat 函数的作用是以','连接字符
    select wmsys.wm_concat(stuname) stuname into str from tb_student;

    dbms_output.put_line(str);
    Select replace(str,',','') into str from dual;

    output := str;

    file := UTL_FILE.FOPEN(location, 'oracleTest.txt', 'w');
    UTL_FILE.PUT_LINE(file, output);
    UTL_FILE.FCLOSE(file);
  end if;
end;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值