[英]SQL PLUS query result save to variable in batch file for further processing
我一直在批处理脚本中使用以下命令从远程数据库中获取结果。
for /f %%m in ('sqlplus -S debayan/[pwd]@[ip]:[port]/[DBInstance] @selectcommands.sql') do set theValue=%%m
echo on
echo "%theValue%"
PAUSE
echo off
在打印时,该值以echo ""
而没有变量theValue
的值,该变量应该返回选择查询的值。
我的sql文件有以下简单的语句
set termout off
set echo off
set pagesize 0
set linesize 500
set heading off
set verify off
set feedback off
set heading off
set serveroutput on
whenever sqlerror exit 16
whenever oserror exit 8
set autocommit on
SET ROWCOUNT 1
set heading off
select count(*) from books;
commit;
exit;
任何帮助将不胜感激。
您还可以创建一个临时文件,执行并最终删除它。 试试这个:
@ECHO OFF
SET MYTEMP=%TEMP%\mytemp.sql
echo set pages 0; > %MYTEMP%
echo select count(*) from dual; >> %MYTEMP%
echo exit; >> %MYTEMP%
for /f %%i in ('sqlplus -s "/ as sysdba" @%MYTEMP%') do @set COUNT=%%i
echo %COUNT%
DEL %MYTEMP%
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.