0
我們試圖通過在批處理文件中調用一個SQL文件來創建一個輸出文件(SQL.txt),它成功了,然後嘗試從輸出文件中的特定行分配特定值(SQL。 txt)使用FOR/f命令給變量,並基於此我們嘗試將IF條件與變量值進行比較。事情是當我們回顧變量值時,它顯示的價值,也顯示下面的行。因此,IF條件不起作用。使用SQL輸出的批處理腳本
詳情請參閱下面的查詢。
1) call sqlplus username/[email protected] @D:\SQL\REORG_DATA.sql >D:\SQL\SQL_OUTPUT\output.txt
2) for /f "skip=14 delims=5" %%n in (D:\SQL\SQL_OUTPUT\output.txt) do echo %%n
3) if %%n EQU 0 goto ErrExit
我的輸出文件始終下同輸出文件信息
我們想捕捉0(零)值到IF條件作爲變量值(%% N),它總是15號線和6 dlims
1
2 SQL*Plus: Release 11.2.0.1.0 Production on Mon Feb 23 14:17:56 2015
3
4 Copyright (c) 1982, 2010, Oracle. All rights reserved.
5
6
7 Connected to:
8 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
9 With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
10 Data Mining and Real Application Testing options
11
12
13 COUNT(*)
14 ----------
15 0
16
17 Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
18 With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
19 Data Mining and Real Application Testing options
20
請幫助。
問候 納格
由於包括樣品供你參考,如你所說的我跟隨,也試圖把GOTO命令從循環退出,但它仍然是重新分配剩餘的行來計數變量,我需要確切的單行值,你可以告訴如何分配單個值後,如何把goto命令。在(D:\ SLB \ APP \ Hyperion \ Automations \ SQL \ SQL_OUTPUT \ output.txt)中爲/ f「skip = 14」%% n設置「count =」 do gotof eof「count = %% n」 回聲%count%我已經使用上面的代碼離開循環。 – NAG 2015-02-24 12:52:02
@NAG,回答更新以包含代碼與'goto' – 2015-02-24 12:58:05
我建議,如果15行的值總是數字,'set/a count = %% n'會更可取。 – Magoo 2015-02-24 13:54:09