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. win10+wget 收藏

    win10+wget  收藏    https://blog.csdn.net/qq_31163325/article/details/84344774 1.下载地址:https://eternall ...

  2. BZOJ.3994.[SDOI2015]约数个数和(莫比乌斯反演)

    题目链接 \(Description\) 求\[\sum_{i=1}^n\sum_{j=1}^md(ij)\] \(Solution\) 有结论:\[d(nm)=\sum_{i|d}\sum_{j|d ...

  3. eclipse闪退解决(转)

    最近帮同事解决一个eclipse闪退解决的问题,从网上找了N多方法皆无效,最后用一个园友的博客上的方法解决了,特转载一下. 解决办法: 删除文件 [workspace]/.metadata/.plug ...

  4. Codeforces Round #371 (Div. 1) C. Sonya and Problem Wihtout a Legend 贪心

    C. Sonya and Problem Wihtout a Legend 题目连接: http://codeforces.com/contest/713/problem/C Description ...

  5. C#中四种常用集合的运用(非常重要)

    C#中4个常用的集合 1.ArrayList ArrayList类似于数组,有人也称它为数组列表.ArrayList可以动态维护,而数组的容量是固定的. 它的索引会根据程序的扩展而重新进行分配和调整. ...

  6. java 实现生产者-消费者模式

    生产和消费者模式有很多种,现在介绍几种常见的方式 wait/notify实现生产和消费者模式 1.使用wait/notify实现生产和消费者模式: public class Depot { // 实际 ...

  7. springmvc.xml 上传文件的配置

    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.Comm ...

  8. 在fork的项目里同步别人新增分支的方法

    # 1.将项目B clone 到本地 git clone -b master 项目B的git地址 # 2.将项目A的git地址,添加至本地的remote git remote add upstream ...

  9. 实现DIV层内的文字垂直居中(转)

    有时候,为了网页设计的美观,需要把div+css设计的页面里的某些div层里的文字垂直居中,包括多行文字以及单行文字:方法有不少,但真正能实现而代码又简洁的介绍不多,flymorn就为大家介绍几种适用 ...

  10. redis 写磁盘出错 Can’t save in background: fork: Cannot allocate memory (转)

    查看 Redis 日志 发现系统在频繁报错: [26641] 18 Dec 04:02:14 * 1 changes in 900 seconds. Saving… [26641] 18 Dec 04 ...