実行しますMSSqlServer。これは前方にあるべきであるように見える。は、私がsignitureとOracleのストアドプロシージャを持つOracleのストアドプロシージャ
私はエラーを取得しておいてください。
Invalid Sql Statement
感謝を!
実行しますMSSqlServer。これは前方にあるべきであるように見える。は、私がsignitureとOracleのストアドプロシージャを持つOracleのストアドプロシージャ
私はエラーを取得しておいてください。
Invalid Sql Statement
感謝を!
は、REFカーソル型であり、あなたは、SQL Plusでこれを行うことができます: - 参照カーソル
var rc refcursor
exec usp_sel_contractors(:rc)
print rc
あなたはSQL Plusでこれを行うことができますが、SQLデベロッパーでこれを行う方法はありますか? – kralco626
はい、これもSQL Developerでも動作します - 私はそれを試しました。 「スクリプトを実行」ボタンを使用します。 –
私はしようとしました: 'var rc refcursor exec Contractor.usp_sel_contractors(:rc)rc'を出力し、結果は得られませんでしたが、スクリプト出力の下にあります。 CHAR | CHAR(n [CHAR | BYTE])| VARCHAR2(n [CHAR | BYTE])| NCHAR | NCHAR(n)| NVARCHAR2(n)| CLOB | NCLOB | REFCURSOR | BINARY_FLOAT | BINARY_DOUBLE]] ' – kralco626
なぜ特定のエラーメッセージが表示されるのかわかりませんが、明白な問題は、プロシージャにパラメータがあり、パラメータを渡していないことです。それはOUTパラメータなので、プロシージャによって設定される適切な型の変数を渡す必要があります。例えば
:sel_contractorを想定し
DECLARE
my_contractors sel_contractor;
BEGIN
usp_sel_contractors(my_contractors);
// Do something with the contents of my_contractors here
END;
/
ugh。わかりました、ありがとう。これを複雑にするために、Oracleにお任せください。結果を出力したいだけですか?それ、どうやったら出来るの? – kralco626
"sel_contractor" とは何ですか? –
ユーザーストアドプロシージャはありません。請負業者と呼ばれるパッケージの一部。 'contractor.usp_sel_contractors'を実行すると同じ効果があります – kralco626
いいえ、私は" usp_sel_contractor "ではなく" sel_contractor "について質問していました。 –