1

入力ファイル名が定義されたパスに存在する場合に天気をチェックするために、オラクルでストアドプロシージャを作成しました。正常に動作しています。power-builder 12.0 でこの手順を呼び出すと、このようにテストされました。初めて間違ったファイル名を入力しましたが、正常に動作します。次に、正しいファイル名を入力しました。これは、プロシージャが既に実行されていることを示しています。この手順をもう一度実行するにはどうすればよいですか。パッケージ内のプロシージャを宣言するMYコードは

 DECLARE PROC_FILE_EXISTS PROCEDURE FOR 

HICSWIN_ORACLE.PACK_UPDATE_TSHML_HICSWIN20.PROC_CHECK_FILES_RELEVANCE  
(  
         FILE_NAME => :as_file_name  
)  ;


EXECUTE PROC_FILE_EXISTS;

IF SQLCA.SqlCode < 0 THEN
    MessageBox('eroor',SQLCA.SQLErrText)
    MessageBox('Connection failed','An error occured while connecting to database, please contact your administrartor')
    RETURN 0
end if

参考までに、私はOracle 11gでWindows 7を使用しています

4

2 に答える 2

4

プロシージャ コールを閉じる必要があります (カーソルの使用に似た方法で : Declare/ Open/ Fetch/ Close):

close PROC_FILE_EXISTS;
于 2012-09-07T09:22:10.970 に答える
1

データストアから呼び出します。ストアド プロシージャ ソースと文字列検索引数を使用して、新しい dw を作成します。PB には、適切なカーソル構文がすべて自動的に含まれます。Oracle SPの呼び出しはより複雑になる可能性があります-dwから呼び出すにはrefカーソルを返す必要があると思います...

于 2012-09-07T19:44:29.423 に答える