問題タブ [varray]
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.
database - VARタイプの大きな制限の欠点
VARCHARまたはVARRAYの最大整数サイズを実際に必要な値よりも大幅に大きい値に設定する(または許可される最大サイズに設定する)ことには、(値または配列が大きくなりすぎることを除いて)欠点がありますか?
oracle - PL/SQL コレクションをスライスできますか?
次のような BULK COLLECT クエリを入力する PL/SQL VArray があります。
ここで、このコレクションのスライスを別のコレクションに渡したいと思います。たとえば、次のようになります。
これにより、要素 2、3、4、および 5 が myarray から newarray に渡されます。
ループを記述して要素をコピーすることもできますが、これを行うよりコンパクトな方法はありますか?
java - JDBC で VARRAY (Oracle 9i) を処理するには?
データベースから値を保存および取得する必要がある小さなプログラムを作成しようとしています。データベースはオブジェクト リレーショナルです。
DDL ステートメントは次のとおりです。
そして、これは私のJavaコードです:
コードは正常にコンパイルされます。しかし、データベースに値を挿入しようとすると、次のエラーが発生します
F:\adb>java SimpleJdbcApplication jdbc:oracle:thin:@127.0.0.1:1521:ralphdb 選択肢を入力してください。1. 挿入 2. 削除 2. 更新 4. 表示 5. 直接クエリを入力 6. 終了 1 名前、住所、生年月日を入力します。rahul mumbai 1989-12-22 簡単な説明を入力してください。happy 既知の言語の名前を入力してください。(最大 10 個) 完了したら、「done」と入力します。c++ c java done スレッド「メイン」の例外 java.sql.SQLException: 無効な名前パターン: SYSTEM.K nownLanguages at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java :112) at oracle.jdbc.driver.DatabaseError. throwSqlException(DatabaseError.java :146) at oracle.jdbc.oracore.OracleTypeADT.initMetadata(OracleTypeADT.java:463) at oracle.jdbc.oracore.OracleTypeADT.init(OracleTypeADT.java:
VARRAY の処理方法に問題があると思います。私を助けてください...
ありがとうございました!:-)
c# - VARRAY パラメータを使用した Oracle 11g プロシージャへの C# 呼び出し
ASP.NET から、VArray を受け入れる Oracle パッケージのストアド プロシージャを呼び出す方法。VArray は、ストアド プロシージャが適切なレコードを変更するために使用するキーのリストを渡します。キーを別々の呼び出しで送信したり、区切りリストを送信したりできることはわかっていますが、配列を使用したいと思います。
java - Oracle VARRAYはJava用語でデータをどのように表現しますか?
ここでは少し広い質問ですが、ここに行きます
Oracleストアドプロシージャを呼び出そうとしています。このストアドプロシージャは、テーブルの1つでROWTYPEから構築されたVARRAYを返します。簡単にするために、このテーブルが次のようになっているとしましょう。
したがって、次のVARRAYタイプを返すSPを呼び出します。
Oracleのドキュメントによると、これを配列として抽出できますが、私の質問は、配列のタイプはどうなるのか、文字列の配列、名前と値のペアの文字列などですか?
この配列からデータを取り出すJavaコードを作成していますが、、OR、またはなど、どの形式になるかわかり1
ませJohn
ん1=John
。1,John
何か案は?
oracle - {TABLE}%ROWTYPEのVARRAYテーブルを初期化する方法は?
私は次のように定義されたVARRAYを持っています:
このVARRAYをデータベースからのフェッチで初期化する必要があります。
しかし、これは次の場合に失敗します。
どうすればこれを機能させることができますか?
java - Hibernate と Oracle VARRAYS/NESTED TABLE
Oracle は VARRAYS および NESTED TABLE データ型の使用をサポートしており、複数値属性を許可しています。( http://www.orafaq.com/wiki/NESTED_TABLE )
現在、ORM フレームワークとして Hibernate 3 を使用していますが、Hibernate をデータベース内の NESTED TABLE/VARRAY データ型にマップする方法がわかりません。
Hibernate でカスタム型を定義しようとしましたが、成功しませんでした。(Hibernate は、サブテーブルのネストを解除するために必要な「COLUMN_VALUE」Oracle キーワードを処理することさえできますか?)
これらのデータ型を Hibernate で実装する方法を知っている人はいますか?
ご協力ありがとうございました。
--TBW。
oracle - varray 変数をストアド プロシージャに渡す - 基本
こんにちは、私は PHP 開発者であり、Oracle を使用しようとしています。そのため、変数のコレクションを Oracle ストアド プロシージャに渡す必要があります。したがって、基本的な試行として、3 つのパラメーターを受け入れるプロシージャーにアクセスしようとしています。そのうちの 2 つは varray ですが、宣言された varray を渡すと、エラーが発生します。それはちょっとした構文と関係があると確信していますが、それを理解することはできません。
以下は、私のテーブル スキーマとストアド プロシージャです。
さて、以下に貼り付けたのは、匿名ブロックからこのプロシージャにアクセスしようとしている私の方法です。
取得しているエラーは実行の近くにあります。宣言ブロック内でプロシージャを実行することは想定されていないと思いますが、回避方法を理解できません。
php - oci_new_collectionを使用して、パッケージ内で定義されたVARRAYタイプにアクセスします
こんにちは私はPHPからOracleにVARRAYを渡そうとしています。私はOCI8を使用しており、以前はストアドプロシージャの引数としてVARRAYを使用しており、コンパイル時にそれらのVARRAYのタイプが作成されます。したがって、PHP側でコレクションインスタンスを作成するときに、コレクション名を直接指定できます。
元:
ここで、MY_ARRAYは、Oracleインスタンスで宣言した配列タイプになります。
したがって、パッケージの外部でそれらを作成すると、型がコンパイルされ、実行中に準備が整います。
パッケージからそれを行うと、エラーが返されます
PHP警告:oci_new_collection()[function.oci-new-collection]:OCI-22303:タイプ""。"my_pack.my_array_type"が見つかりません
私のパッケージヘッダーは次のようになります
これで、PHPから呼び出してコレクションのインスタンスを作成するとき、これが私のやり方です。
警告タイプが見つかりません。
私の質問は、パッケージに含まれているvarrayタイプをどのように呼び出す必要があるかということです。package.type_nameとして実行していますが、タイプが見つからないという警告が表示されます。
sql - Oracle PL / SQL:さまざまなREFからDEREFする方法は?
Oracle Objectsを初めて使用しますが、問題があります。参照のVARRAYからアイテムを逆参照する方法がわかりません。以下は私が抱えている問題を再現するソースコードです。エラーは次のとおりです。PLS-00306:'DEREF'の呼び出しで引数の数またはタイプが間違っています
LOCS varrayからIDXの位置にあるREFを取得し、それをDEREFして名前を取得しようとすると、DISPLAY_LOCSプロシージャにエラーが表示されます。