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. php 导出excel文件

    out_excel.php <?phperror_reporting(E_ALL);date_default_timezone_set('Asia/Shanghai');require_once ...

  2. 002.FTP配置项详解

    一 相关配置项 anonymous_enable=YES #允许匿名用户登录 local_enable=YES #允许本地用户登录 write_enable=YES #允许本地用户上传 local_u ...

  3. web实践小项目<一>:简单日程管理系统(涉及html/css,javascript,python,sql,日期处理)

    暑假自学了些html/css,javascript和python,苦于学完无处练手几乎过目即忘...最后在同学的建议下做了个简单日程管理系统.借第一版完成之际,希望能将实践期间犯过的错误和获得的新知进 ...

  4. 数据库事务的属性-ACID和隔离级别

    1.数据库事务的属性-ACID(四个英文单词的首写字母): 1)原子性(Atomicity) 所谓原子性就是将一组操作作为一个操作单元,是原子操作,即要么全部执行,要么全部不执行. 2)一致性(Con ...

  5. Codeforces Beta Round #14 (Div. 2) B. Young Photographer 水题

    B. Young Photographer 题目连接: http://codeforces.com/contest/14/problem/B Description Among other thing ...

  6. RSS介绍、RSS 2.0规范说明和示例代码

    RSS是一种消息来源格式规范,用以发布经常更新资料的网站,例如博客.新闻的网摘.RSS文件,又称做摘要.网摘.更新.频道等,包含了全文或节选文字,再加上一定的属性数据.RSS让发布者自动发布信息,也使 ...

  7. Revit API根据参数类型取得参数的值

    参数的类型string与int取得的方法有所不同,可以封装成一个函数. //得到参数的值 public static string GetParamVal(Document doc, Paramete ...

  8. Win10年度更新开发必备:VS2015 Update 2正式版下载汇总

    ========================================================================== 微软在03月30日发布了Visual Studio ...

  9. Unity3D实践系列05,为GameObject添加额外属性

    在Unity中,通常通过脚本为GameObject添加额外的属性.具体有2种方式:一种是通过硬编码为脚本字段赋值,另一种是通过反射在运行时给脚本字段赋值. 脚本通过字段硬编码为GameObject添加 ...

  10. DirectInfo.GetFiles返回数组的默认排序

    NTFS和CDFS下,是按照字母顺序,而FAT下,按照文件创建时间顺序 using System; using System.Collections; using System.IO; namespa ...