从批处理文件运行SQL脚本 - 输出不符合预期

时间:2017-03-08 14:14:18

标签: oracle batch-file sqlplus

我有一个要求,我需要从.bat文件运行.sql文件。应将.sql文件的输出重定向到.txt文件。我能够这样做,但是sql文件打印的列名用'_'加下划线,在文件末尾打印'3行选中'。我不希望列名和'3行选中'出现在输出文件中。你能指出我在这里做错了什么吗? 以下是我的代码的详细信息。请注意,我的sql必须使用sqlplus在oracle db中运行。

sql_file.sql

mydataframe1
Out[15]: 
    Start   End  Value
    100     200  0
    300     400  0
    401     450  -1
    500     700  1

batch_file.bat

SET HEADING OFF FEEDBACK OFF ECHO OFF PAGESIZE 0
SET UNDERLINE off
select 'This '|| emp_name || ' belongs to ' || dept_name || ' department' as emp_data from emplyoee;

exit

我希望 output_file.txt 看起来像

@echo off

sqlplus -s -l scott/tiger@myoracledb @"C:\Data Files\sql_file.sql" >> "C:\Data Files\output_file.txt"

但是我的代码正在生成输出

This Charles employee belongs to Finance department
This Chris employee belongs to Sales department
This John employee belongs to Engineering department

1 个答案:

答案 0 :(得分:0)

我个人不熟悉一行上的SET命令......也许这样试试:

SET HEADING OFF 
SET FEEDBACK OFF 
SET ECHO OFF 
SET PAGESIZE 0