如何使用从UNIX中的数据库获取的值创建平面文件?

时间:2010-12-13 13:25:51

标签: oracle unix sqlplus

如何在UNIX中使用从数据库中获取的值(使用select)创建平面文件?

3 个答案:

答案 0 :(得分:1)

您应该能够在shell脚本中调用sqlplus,并将结果通过管道传输到平面文件。有关详细信息,请参阅this answer

答案 1 :(得分:1)

对于传递给shell脚本的变量,请尝试这里的文档:

#!/bin/ksh
var=$(printf "'%s'" `date +%b-%d-%Y`)
sqlplus -s me/mtpasswd@mydbname <<! 
   set pages 55
   spool outfile.lis
   select * from mytable where sales_date= $var ;
   spool off
!

这使用了今天的日期。平面文件是outfile.lis

答案 2 :(得分:1)

如果您正在使用SQLPlus,请使用SPOOL directive将脚本输出输出到文件。例如,这是SO question details how to get a CSV file via SQLPlus/SPOOL

SPOOL your_file.txt

    SELECT 1, 'test' 
      FROM DUAL

SPOOL OFF

相关: