[解決済み] Oracle PL/SQL - シンプルな配列変数を作成する方法は?
2022-06-04 21:15:41
質問
PL/SQL コードで使用できるインメモリ配列変数を作成したいと思います。 Oracle PL/SQL では、純粋なメモリを使用するコレクションは見つからず、すべてテーブルと関連付けられているようです。 PL/SQL(C#構文)でこのようなことを行いたいと思っています。
string[] arrayvalues = new string[3] {"Matt", "Joanne", "Robert"};
編集します。 オラクル:9i
どのように解決するには?
固定サイズの配列にはVARRAYを使用することができます。
declare
type array_t is varray(3) of varchar2(10);
array array_t := array_t('Matt', 'Joanne', 'Robert');
begin
for i in 1..array.count loop
dbms_output.put_line(array(i));
end loop;
end;
または、非束縛の配列のためのTABLE。
...
type array_t is table of varchar2(10);
...
ここでの "table" という単語は、紛らわしいことにデータベースのテーブルとは何の関係もありません。 どちらの方法もインメモリ配列を作成します。
どちらの方法でも、要素を追加する前に、コレクションを初期化し、拡張する必要があります。
declare
type array_t is varray(3) of varchar2(10);
array array_t := array_t(); -- Initialise it
begin
for i in 1..3 loop
array.extend(); -- Extend it
array(i) := 'x';
end loop;
end;
最初のインデックスは0でなく1です。
関連
-
OracleインストールTNS_ADMIN環境変数設定リファレンス
-
SQLPlusコマンドの使い方の説明
-
オラクルのTO_DATEの使い方解説
-
Oracle ADGプロセスを構築するDBCAコマンドライン
-
[解決済み] ORA-00955 "名前はすでに既存のオブジェクトによって使用されています"
-
[解決済み] Oracle 12c: TNS-12535: TNS:操作がタイムアウトしました。
-
[解決済み] PLS-907でライブラリユニットを読み込めない
-
[解決済み] PL/SQLプロシージャ - SQLステートメント無視エラー
-
[解決済み】Oracleクエリが順序付け後に返す行数を制限するにはどうすればいいですか?
-
[解決済み】OracleでAUTO_INCREMENTでidを作成する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
IntelliJ DataGrip Oracle 11gリモート接続の手順
-
オラクルはADGとDGのケースを詳細に区別している
-
オラクルのファジー・クエリーとその使い方
-
Oracle21cをRPMパッケージでインストールする方法
-
オラクルのTO_DATEの使い方解説
-
[解決済み] Oracleのテーブル名の最大長は?
-
[解決済み] エラー: ORA-01704: 文字列リテラルが長すぎる
-
[解決済み] ORA-01799: 列がサブクエリに外部結合されていない可能性があります。
-
[解決済み] PLS-907でライブラリユニットを読み込めない
-
[解決済み] PL/SQLプロシージャ - SQLステートメント無視エラー