DECLARE
CURSOR cur_lcy_test IS
SELECT rcta.customer_trx_id, rcta.trx_number, rcta.trx_date
FROM ra_customer_trx_all rcta
WHERE rcta.customer_trx_id = 11993;
--
rec_lcy_test cur_lcy_test%ROWTYPE;
--
w_csv_line_num NUMBER := 0;
TYPE tbl_varchar2 IS TABLE OF VARCHAR2(4000) INDEX BY BINARY_INTEGER;
w_rec_data tbl_varchar2;
w_separator VARCHAR2(1) := ',';
w_file_name xxifc_if_file_status.if_file_name%TYPE; -- ファイル名
w_utl_file_type utl_file.file_type;
w_flag VARCHAR2(20) DEFAULT NULL;
w_rec_count NUMBER DEFAULT 0;
w_loop_num NUMBER DEFAULT 0;
w_file_path VARCHAR2(2000) DEFAULT NULL;
w_filename utl_file.file_type;
--
c_open_mode_read CONSTANT VARCHAR2(2000) := 'r';
c_open_mode_write CONSTANT VARCHAR2(2000) := 'w';
c_true CONSTANT VARCHAR2(2000) := 'TRUE';
c_false CONSTANT VARCHAR2(2000) := 'FALSE';
--
BEGIN
OPEN cur_lcy_test;
<<get_lcy_test_loop>>
LOOP
FETCH cur_lcy_test
INTO rec_lcy_test;
EXIT WHEN cur_lcy_test%NOTFOUND;
--
w_csv_line_num := w_csv_line_num + 1;
w_rec_data(w_csv_line_num) := xxcmpz11.func_make_qt2_str(to_char(rec_lcy_test.customer_trx_id)) ||
w_separator ||
xxcmpz11.func_make_qt2_str(to_char(rec_lcy_test.trx_number)) ||
w_separator ||
xxcmpz11.func_make_qt2_str(to_date(rec_lcy_test.trx_date,
'yyyy/mm/dd'));
--
END LOOP get_lcy_test_loop;
--
w_file_name := 'LCY_WRITE_FILE_TEST.csv';
w_file_path := 'XXIF_OUTPUT'; --all_directories.directory_name
BEGIN
w_utl_file_type := utl_file.fopen(location => w_file_path,
filename => w_file_name,
open_mode => c_open_mode_read,
max_linesize => 32767);
w_flag := c_true;
utl_file.fclose(file => w_utl_file_type);
EXCEPTION
WHEN OTHERS THEN
w_flag := c_false;
END;
IF (w_flag = c_true) THEN
dbms_output.put_line('w_flag');
END IF;
--
w_rec_count := w_rec_data.count;
--
w_utl_file_type := utl_file.fopen(location => w_file_path,
filename => w_file_name,
open_mode => c_open_mode_write,
max_linesize => 32767);
--
<<user_file_line_loop>>
FOR w_loop_num IN 1 .. w_rec_count LOOP
utl_file.put_line(file => w_utl_file_type,
buffer => convert(w_rec_data(w_loop_num),
'JA16SJIS',
'UTF8')); --改动
END LOOP user_file_line_loop;
-- ファイルのクローズ
IF (utl_file.is_open(file => w_utl_file_type)) THEN
utl_file.fclose(file => w_utl_file_type);
END IF;
--
--w_filename := utl_file.fopen(c_location, c_bat_name, 'a'); --utl_file.put_line(w_filename,
-- convert('ren ' || w_file_name || ' ' || replace(w_file_name,' ','')||chr(13),
-- 'JA16SJIS',
-- 'UTF8'));
--utl_file.fflush(w_filename);
--utl_file.fclose(w_filename); --
CLOSE cur_lcy_test;
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. MySQL 索引原理概述及慢查询优化实战

    MySQL凭借着出色的性能.低廉的成本.丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库.虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位 ...

  2. 安装 intelliJ idea 。 快速学会kotlin

    用户界面主题 - 默认插件-功能插件 调整 idea 到你的任务 idea 有 许多 工具 可用 通过 默认. 你能够设置 你需要的. 跳过 剩下的 设置默认 . 回到 用户界面主题. 下一步:功能插 ...

  3. BZOJ4816 Sdoi2017数字表格

    一开始只推出O(TN)的做法,后来看了看发现再推一步就好了. 我们只需要枚举gcd就可以啦. 然后我们改变一下枚举顺序 设T为dk 预处理中间那部分前缀积就好了. #include<bits/s ...

  4. RelativeSource的用法

    绑定自身的数据 <Style TargetType="Button"> <Setter Property="Width" Value=&quo ...

  5. Android activity之间数据传递和共享的方式之Application

    1.基于消息的通信机制  Intent ---bundle ,extra 数据类型有限,比如遇到不可序列化的数据Bitmap,InputStream,或者LinkedList链表等等数据类型就不太好用 ...

  6. mysql的checkpoint

    上一章的结尾我们留下了一个问题,就是在上一章所介绍的模型中,恢复管理器必须要通过全篇扫描整个undolog进行日志恢复,这样做显然是没有太大必要的,因为系统中断肯定是在最后几个事务受到影响,前面的事务 ...

  7. 关于dubbo服务的xml配置文件报错的问题

    在配置dubbo服务的过程中,经常会遇到虽然程序能够跑起来,但是配置文件一堆红叉,虽然不影响功能,但是确实很让人恶心. 报错信息如下: Multiple annotations found at th ...

  8. BZOJ4205 : 卡牌配对

    对于两张卡牌,如果存在两种属性值不互质,则可以匹配. 只考虑200以内的质数,一共有46个,可以新建3*46*46个点来表示一类属性值中有这两种质数的卡牌. 然后对于每张卡牌,枚举它的质因子,最多只有 ...

  9. CentOS下KVM网卡设置成网桥时获取镜像端口的流量

    首先,网桥配置好之后就能实现一个简单的交换机,而交换机的特点就是MAC地址学习,那么KVM的网卡设置成网桥之后,也就是相当于连接到了交换机上. 此时如果要实现在二层交换机或三层交换机做端口镜像,并把这 ...

  10. Java嵌入式数据库H2学习总结(三)——在Web应用中嵌入H2数据库

    H2作为一个嵌入型的数据库,它最大的好处就是可以嵌入到我们的Web应用中,和我们的Web应用绑定在一起,成为我们Web应用的一部分.下面来演示一下如何将H2数据库嵌入到我们的Web应用中. 一.搭建测 ...