1. DECLARE
  2. CURSOR cur_lcy_test IS
  3. SELECT rcta.customer_trx_id, rcta.trx_number, rcta.trx_date
  4. FROM ra_customer_trx_all rcta
  5. WHERE rcta.customer_trx_id = 11993;
  6. --
  7. rec_lcy_test cur_lcy_test%ROWTYPE;
  8. --
  9. w_csv_line_num NUMBER := 0;
  10. TYPE tbl_varchar2 IS TABLE OF VARCHAR2(4000) INDEX BY BINARY_INTEGER;
  11. w_rec_data tbl_varchar2;
  12. w_separator VARCHAR2(1) := ',';
  13. w_file_name xxifc_if_file_status.if_file_name%TYPE; -- ファイル名
  14. w_utl_file_type utl_file.file_type;
  15. w_flag VARCHAR2(20) DEFAULT NULL;
  16. w_rec_count NUMBER DEFAULT 0;
  17. w_loop_num NUMBER DEFAULT 0;
  18. w_file_path VARCHAR2(2000) DEFAULT NULL;
  19. w_filename utl_file.file_type;
  20. --
  21. c_open_mode_read CONSTANT VARCHAR2(2000) := 'r';
  22. c_open_mode_write CONSTANT VARCHAR2(2000) := 'w';
  23. c_true CONSTANT VARCHAR2(2000) := 'TRUE';
  24. c_false CONSTANT VARCHAR2(2000) := 'FALSE';
  25. --
  26. BEGIN
  27. OPEN cur_lcy_test;
  28. <<get_lcy_test_loop>>
  29. LOOP
  30. FETCH cur_lcy_test
  31. INTO rec_lcy_test;
  32. EXIT WHEN cur_lcy_test%NOTFOUND;
  33. --
  34. w_csv_line_num := w_csv_line_num + 1;
  35. w_rec_data(w_csv_line_num) := xxcmpz11.func_make_qt2_str(to_char(rec_lcy_test.customer_trx_id)) ||
  36. w_separator ||
  37. xxcmpz11.func_make_qt2_str(to_char(rec_lcy_test.trx_number)) ||
  38. w_separator ||
  39. xxcmpz11.func_make_qt2_str(to_date(rec_lcy_test.trx_date,
  40. 'yyyy/mm/dd'));
  41. --
  42. END LOOP get_lcy_test_loop;
  43. --
  44. w_file_name := 'LCY_WRITE_FILE_TEST.csv';
  45. w_file_path := 'XXIF_OUTPUT'; --all_directories.directory_name
  46. BEGIN
  47. w_utl_file_type := utl_file.fopen(location => w_file_path,
  48. filename => w_file_name,
  49. open_mode => c_open_mode_read,
  50. max_linesize => 32767);
  51. w_flag := c_true;
  52. utl_file.fclose(file => w_utl_file_type);
  53. EXCEPTION
  54. WHEN OTHERS THEN
  55. w_flag := c_false;
  56. END;
  57. IF (w_flag = c_true) THEN
  58. dbms_output.put_line('w_flag');
  59. END IF;
  60. --
  61. w_rec_count := w_rec_data.count;
  62. --
  63. w_utl_file_type := utl_file.fopen(location => w_file_path,
  64. filename => w_file_name,
  65. open_mode => c_open_mode_write,
  66. max_linesize => 32767);
  67. --
  68. <<user_file_line_loop>>
  69. FOR w_loop_num IN 1 .. w_rec_count LOOP
  70. utl_file.put_line(file => w_utl_file_type,
  71. buffer => convert(w_rec_data(w_loop_num),
  72. 'JA16SJIS',
  73. 'UTF8')); --改动
  74. END LOOP user_file_line_loop;
  75. -- ファイルのクローズ
  76. IF (utl_file.is_open(file => w_utl_file_type)) THEN
  77. utl_file.fclose(file => w_utl_file_type);
  78. END IF;
  79. --
  80. --w_filename := utl_file.fopen(c_location, c_bat_name, 'a');
  81.  
  82. --utl_file.put_line(w_filename,
  83. -- convert('ren ' || w_file_name || ' ' || replace(w_file_name,' ','')||chr(13),
  84. -- 'JA16SJIS',
  85. -- 'UTF8'));
  86. --utl_file.fflush(w_filename);
  87. --utl_file.fclose(w_filename);
  88.  
  89. --
  90. CLOSE cur_lcy_test;
  91. END;

SQL Script for select data from ebs and make a csv file to FTP的更多相关文章

  1. SQL Script for read information from a csv file in FTP Server

    DECLARE w_file_path VARCHAR2(4000) := 'XXIF_INPUT'; --all_directories.directory_name w_file_name VAR ...

  2. 可重复执行的SQL Script

    问题 在工作中偶尔会遇到这样的问题:SQL script重复执行时会报错. 理想的状态下,SQL script跑一遍就够了,是不会重复执行的,但是实际情况往往很复杂. 比如Dev同学在开发时在A环境把 ...

  3. MySQL5.7: sql script demo

    -- MyISAM Foreign Keys显示不了外键,MyISAM此为5.0 以下版本使用 InnoDB 为5.0以上版本使用 drop table IF EXISTS city; CREATE ...

  4. SQLite: sql script demo

    如果有成熟的架构,如何根据数据库关系的表.视图等,进行代码生成架构?减少写代码的时间? -- 考虑主键外键 -- create database geovindu; use geovindu; --2 ...

  5. doris: shell invoke .sql script for doris and passing values for parameters in sql script.

    1. background in most cases, we want to execute sql script  in doris  routinely. using azkaban, to l ...

  6. 使用redis+lua实现SQL中的select intersect的效果

    公众号文章地址 1.需求 业务中需要实现在两个集合中搜索数据,并返回交集. 用SQL的伪代码可以描述如下: select key from set1 where sorted_key between ...

  7. [ORACLE错误]oracle 不能更新 PL/SQL 点击“edit data”报“ these query results are not updateable”

    你可以选择在查询语句的最后加上 for update,就可以打开编辑锁,直接修改数据. 而在默认查询下,点击Edit data,会报错:The query results are not update ...

  8. 浅析基于微软SQL Server 2012 Parallel Data Warehouse的大数据解决方案

    作者 王枫发布于2014年2月19日 综述 随着越来越多的组织的数据从GB.TB级迈向PB级,标志着整个社会的信息化水平正在迈入新的时代 – 大数据时代.对海量数据的处理.分析能力,日益成为组织在这个 ...

  9. 转:浅析基于微软SQL Server 2012 Parallel Data Warehouse的大数据解决方案

    综述 随着越来越多的组织的数据从GB.TB级迈向PB级,标志着整个社会的信息化水平正在迈入新的时代 – 大数据时代.对海量数据的处理.分析能力,日益成为组织在这个时代决胜未来的关键因素,而基于大数据的 ...

随机推荐

  1. MIT-6.824 Lab 3: Fault-tolerant Key/Value Service

    概述 lab2中实现了raft协议,本lab将在raft之上实现一个可容错的k/v存储服务,第一部分是实现一个不带日志压缩的版本,第二部分是实现日志压缩.时间原因我只完成了第一部分. 设计思路 如上图 ...

  2. Java日期时间类

    日期时间类有三种: 一.java.util.Date:一般用于声明日期时间类型的变量. 二.java.sql.Date:一般用于数据库日期时间的映射. 三.java.util.Calendar:一般用 ...

  3. 命令:mktemp

    简介 mktemp命令用于创建一个临时的文件或者目录. 语法格式 mktemp [OPTION]... [TEMPLATE] 示例 不带选项和参数的mktemp用于创建临时文件,带-d选项用于创建临时 ...

  4. Android通知栏沉浸式/透明化完整解决方案

    转载请注明出处:http://www.cnblogs.com/cnwutianhao/p/6640649.html 参考文献:https://github.com/ljgsonx/adaptiveSt ...

  5. [ 转载 ] Android JNI(一)——NDK与JNI基础

    Android JNI(一)——NDK与JNI基础 隔壁老李头 关注  4.4 2018.05.09 17:15* 字数 5481 阅读 11468评论 8喜欢 140 本系列文章如下: Androi ...

  6. Go面试题精编100题

    Golang精编100题 选择题 1.   [初级]下面属于关键字的是()A. funcB. defC. structD. class 参考答案:AC 2.   [初级]定义一个包内全局字符串变量,下 ...

  7. BZOJ.2134.[国家集训队]单选错位(概率 递推)

    题目链接 如题目中的公式,我们只要把做对每个题的概率加起来就可以了(乘个1就是期望). 做对第i道题的概率 \[P_i=\frac{1}{max(a_{i-1},a_i)}\] 原式是 \(P_i=\ ...

  8. 喵哈哈村的魔法考试 Round #6 (Div.3) 题解

    有任何问题 直接联系QQ:475517977 喵哈哈村的代码传说 第一章 冒泡排序 第一题就是排序嘛,在ACM/OI竞赛中,我只推崇一种排序方法,就是直接调用algorithm里面的sort函数. # ...

  9. 将网桥的配置写进去/etc/sysconfig/network-scripts/ifcfg-xxx

    有时候需要使用网桥命令比如brctl设置一些网桥的属性,而这些方式能否同样写进去配置文件使其永久开机生效. 答案是不行的,也同样找过Ubuntu的,其实Ubuntu可以实现,参考:http://man ...

  10. android流量统计

    研究过一段时间的android流量统计发个自己的总结帖 1 android有一个TrafficStats类可以直接获取 总接受流量TrafficStats.getTotalRxBytes(), 总发送 ...