2016-05-11 12 views
-2

私のプロジェクト内でoracle SQL文を呼び出す必要があります。Oracle変数を選択して

すべての接続関連が行われますが、私のツールはoracleで実行される出力パラメータを取得しません。

したがって、select文でp_numの値を返すようにこのクエリを変更する必要があります。

つまり、「Result」という列名を持つ1列( 'p_num')を持ち、p_num値の行が1つしかない表。続き

は、現在、私が欲しいものdbms_output.put_line

DECLARE 
p_num varchar2(4000); 
message varchar2(4000) ; 
BEGIN 
p_num := MyFunction(); 

dbms_output.put_line('Message : ' || p_num) ; 
    END; 

の助けを借りて、出力値を与えるSQL文である私は私のBPMツール内の特定の列を取り込むことができるようにSELECT文のp_num値です。

+1

どのSELECT文でない限り、私はそれをお勧めしていないのだろうか?あなたの質問にselectステートメントがありません –

+0

私はbpmツールが出力結果の値をキャプチャするように、結果セットにp_num shoudlの値を入れたい のようなものが欲しいですtemp_tableから選択p_num – user3815413

+0

どの結果ですか?あなたに変更したいクエリを表示してください –

答えて

1

SELECTステートメントで直接関数を呼び出すことができます。

1)第一の方法は、プレーンなSQL

SELECT MyFunction FROM DUAL; 

2)第2の方法は、PLSQLであるVIAそれを行うことですが、そのやむを得ない

set serveroutput on; 
declare 
lv_var VARCHAR2(100); 
lv_out_param VARCHAR2(100); 
BEGIN 
lv_var:=MyFunction(lv_out_param); 
dbms_output.put_line(lv_var||' '||lv_out_param); 
END; 
/
+0

私はoracleを初めて使っています。WatはこのDUAL、Keywordですか? DUALから選択Myfunction( 'APPR')を実行するとき ORA-06550:行9、列5: PLS-00428:このSELECT文ではINTO句が必要です – user3815413

+0

DUALは単一の行と列。これは、式を評価したいだけで、テーブルのデータに本当に関心がない場合に使用されます。 – Codo

+0

PLS-00428に関して:PL/SQLを使用しないでください。すなわち、DECLARE、BEGIN、ENDを削除し、SELECT文を何も実行せずに実行してください。 – Codo

関連する問題