問題タブ [out-parameters]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - OUT パラメータを使用する PostgreSQL 関数と TABLE の結果を使用する PostgreSQL 関数の間に形式的な違いはありますか?
次の 2 つの PostgreSQL 関数について考えてみましょう。
「通常の」手続き型 SQL 言語 (Transact-SQL など) では、2 つのタイプの関数はまったく異なります。f_1
実際にはプロシージャになりf_2
ますが、テーブル値関数になります。SQL Server では、後者は次のINFORMATION_SCHEMA.ROUTINES
ように返されます。
ただし、PostgreSQL ではこれは機能しません。f_1
次のクエリは、とのシグネチャに本質的な違いがないことを示していますf_2
。
上記の結果は次のとおりです。
関数から複数の列が返された場合、事態はそれほど良くなりません。その場合、「正式な」戻り値の型さえありません。ただrecord
:
...私は得るでしょう:
他のデータベースからのものである場合、字句署名の意図は明らかにまったく異なります。オラクルの人として、副作用があることを期待PROCEDURES
していますFUNCTIONS
が、(自律型トランザクションでない限り) 副作用はなく、SQL に安全に埋め込むことができます。OUT
PostgreSQL がすべての関数をテーブルとして巧みに扱うことは知っていますが、どのクエリでもパラメータをテーブル列として設計するのは良い考えではないと思います...
私の質問は:
関数を宣言する 2 つの方法に形式上の違いはありますか? ある場合、INFORMATION_SCHEMA
または からどのように発見できPG_CATALOG
ますか?
c# - vb.net の Web サービスの複数の出力パラメータ
vb を使用して WCF サービスを作成しました。サード パーティによって c# で記述されたクライアントには、2 つの出力パラメーターが必要です。
サービスは正常に動作しますが、out パラメータに問題があります。
SOを検索すると解決策が見つかり、プレフィックスを使用して2つのパラメーターを宣言できました。
以下の宣言に示すように、パラメーターの 1 つは文字列で、もう 1 つはオブジェクトの配列です。
クライアントを起動すると、配列は空を返しますが、文字列には正しいデータが入力されています。
2 番目の出力パラメーターを削除しようとしました (以下の宣言を参照)
この場合、配列は正しいデータで埋められます。
結果なしでパラメーターの順序を変更しようとしました(文字列が満たされ、配列が空を返します)
どこが間違っていますか?vb で複数の out パラメータを使用することは可能ですか?
返信ありがとうございます。
java - Jdbc メソッドによって返される結果の不一致
以下のコードの何が問題なのか理解できないようです。このメソッドは、スキーマ内のパッケージに属するgetSalaryAverageDepartment
PL/SQL プロシージャを呼び出します。get_salary_average_dept
EMP_PGK
HR
上記のコードを呼び出すメイン メソッドは次のとおりです。
PL/SQL の手順は次のとおりです。
Java プログラムの出力は次のとおりです。
PL/SQL プロシージャを Jdeveloper で個別に実行したのは、次の出力です。
両方の出力が異なるのはなぜですか。ここで何か不足していますか?
oracle - RECORD TYPE を OUT パラメータとしてストアド プロシージャを実行する方法
これはパッケージ仕様です:
そしてこれがパッケージ本体。パッケージをコンパイルすることはできましたが、結果を確認するためにストアド プロシージャを実行する際に助けが必要です。
私がこれまでに持っているものは次のとおりです。
しかし、これを実行すると、エラーが発生します
table_employees
宣言する必要があります
そしてもう一つは
PLS-00320: この式の型の宣言が不完全であるか、形式が正しくありません。
誰かがこれで私を助けてくれますか?