2017-10-23 7 views
1

データを切り捨てていくつかのテーブルに挿入するストアドプロシージャがあります。Oracleストアドプロシージャとbatファイル

ストアドプロシージャ(.sqlファイル)は、それが正常に動作します

echo off 
sqlplus usr/[email protected] < C:\temp\test.sql 

batファイルから呼び出されます。

ここでは、上記の手順のステータス/結果(合格/不合格)を返す必要があります。その戻り値をbatファイルで使用し、親batファイル(レポートを生成する)に渡します。

バットファイルに値を返して保存することができません。

ありがとうございました。

以下

は、私はbatファイル内のメッセージ(hiiiiii/helloooo)を取得するにはどうすればよいのテストストアドプロシージャ

SET SERVEROUTPUT ON; 
create or replace PROCEDURE hi 
IS 
    n NUMBER; 
    Begin 
    dbms_output.put_line(' Hiiiiiiiiiiiiiiiii'); 
    End; 

create or replace PROCEDURE hello 
IS 
    n NUMBER; 
    Begin 
    dbms_output.put_line(' Helloooo'); 
    End; 

create or replace PROCEDURE ola(message VARCHAR) 
IS 
    n NUMBER; 
    Begin 
     if(message = 'hi')then 
     hi; 
    else 
     hello; 
     end if; 
    End; 

です。

おかげで、 ラヴィ

答えて

0

使用 echo sqlplus usr/[email protected] < C:\temp\test.sqlまたは

echo n | sqlplus usr/[email protected] < C:\temp\test.sql

と環境変数の助けを借りて、結果

+0

を取得していただきありがとうございます。出来た。 'n'の値にアクセスするにはどうすればよいですか? –

+1

解決策が見つかりました FOR/F "usebackq delims =!" %% i IN( 'sqlplus -S u/p @ db @" C:\ Users \ or.sql "')DO設定STATUS = %% i echo%STATUS% –

関連する問題