日期:2014-05-17  浏览次数:20957 次

命令行中用sqlplus可以把查询的数据输出到文件吗
如题,命令行中使用sqlplus $username/$passwd@database @file.sql可以执行file.sql中的sql语句,但怎么能让查询的数据输出呢?像db2那样的用法呢
命令行中执行
db2 connect to database
db2 "select * from table" > data.txt 
db2 "insert into table values ...." > log.txt


然后还有可以编辑bat文件,把变量带入sql语句中,比如bat文件test.bat如下
database=$1
table=$2

db2 connect to $database > log.txt
db2 "select * from $table" >> log.txt

就是在执行bat文件的时候传入参数什么的。

还有就是用db2 -tvf file.sql > log.txt这样执行file.sql里的所有语句,并且log输出到log.txt

谢谢大家帮助

------解决方案--------------------
spool
------解决方案--------------------
试试
sqlplus username@dbname/password @c:\**sql > c:\log.txt
------解决方案--------------------
传参比较困难。
不过你可以考虑用批处理脚本。
参数在调用批处理脚本时传入。
然后拼出要执行的sql脚本,再调用sqlplus 执行。