0

SQL*PLUSで次のことをしようとしていますORACLE

  • 変数を作成する
  • メソッド呼び出しに出力変数として渡す
  • 出力変数から値を出力します

私は得る

宣言されていない変数

エラー。ウィンドウを閉じるまでセッションに保持される変数を作成しようとしていSQL*PLUSます。

variable subhandle number;
exec MYMETHOD - (CHANGE_SET => 'SYNC_SET', - DESCRIPTION => 'Change data for emp', 
                                           - SUBSCRIPTION_HANDLE => :subhandle);

print subhandle;
4

3 に答える 3

3

問題ないはずです - これに対して慎重に行ったことを確認してください:

SQL> create procedure myproc (p1 out number)
  2  is
  3  begin
  4     p1 := 42;
  5  end;
  6  /

Procedure created.

SQL> variable subhandle number
SQL> exec myproc(:subhandle)

PL/SQL procedure successfully completed.

SQL> print subhandle

 SUBHANDLE
----------
        42
于 2008-09-24T16:42:59.720 に答える
0

これがあなたが探しているものであるかどうかはわかりませんが、&&variable構文を試しましたか?あなたができる

select &&subhandle from dual

または、スクリプトの開始時にそのようなものがsubhandleあれば、セッションの残りの部分でその値にバインドする必要があります。

于 2008-09-25T17:59:02.853 に答える
0

再投稿していただけますでしょうか。ただし、code タグを使用してコードをフォーマットしています.... (つまり、101 010 ボタン) 余分な "-" 文字が入ってきたので、解釈がより難しくなっていると思います。

SQL Plusウィンドウの内容を代わりにコピーできる場合は、SQL Plusがエラーを報告するのを確認するのにも役立ちますか?

しかし、それは正しいようです。

于 2008-09-24T16:41:07.153 に答える