• ベストアンサー

PL/SQL内の共通関数の引数にフェッチしたレコードごと渡すのは可能?

カーソルでレコードを検索し、フェッチします。 その後、INSERTする共通関数を呼ぶのですが、 フェッチしたレコードの値でINSERTしたいのです。 引数で1コずつ渡すと数が多いので、フェッチしたレコードごと引数で渡せないかと それって可能ですか?

  • Oracle
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • gaf777
  • ベストアンサー率62% (5/8)
回答No.1

こんにちは。  共通関数の引数にカーソルのレコード型(cursor_name%ROWTYPE)を 使用すればよいと思います。 ただこの場合は、汎用性に乏しいのですが・・・。  よって個人的にはINSERT先のテーブル名のレコード型が お勧めです。[テーブル名%ROWTYPE]  カーソルのレコードから移し変える処理が必要になりますが、 登録処理が簡単に記述できますネ。 (INSERT INTO TAL_NAME VALUE record_type;)

関連するQ&A

  • AccessVBA レコード数を調べるには

    こんにちは。 タイトルにも書きましたが、あるフォームがあって、そのフォームに 表示されている全てのレコードの数をかぞえる方法と、 今カーソルがある(値が選択されている)レコードが何番目のレコード なのかという値を返してくれる関数か何かありますでしょうか。 あったらぜひ教えていただきたいです。

  • phpで関数に引数を渡すという  わたす  という

    phpで関数に引数を渡すという  わたす  というのは、引数に値を 入力する という意味ですか?

  • Perlの関数の引数について詳細

    perlで引数に関することでわからないことがあるのですが、以下の状態で、実行した際に、$aは1が入るのはわかりますが、$bには具体的にどんな値が入っているのでしょうか? 引数が無い場合は、デフォルトで1をセットしたいです。 phpのvar_dump関数のようなものがPerlには存在すれば便利ですが、そういうものはあるのでしょうか? sub test{ my ($a, $b, $c, $d) = @_; } &test(1); あと引数の数を2つは必須にして、残りの引数(3つ目はデフォルトで1つ目の引数と同じ値になり、4つ目以降はデフォルトで1となる 関数のプロトタイプを書きたいのですが、どうですればよいのでしょうか? sub test($$;@  ?のようなものを見たことがあるのですが、どんな意味をしているのでしょうか?結構複雑な引数を持たせることができそうなのですが、詳しく書かれている本などご存知の方教えてください。

    • ベストアンサー
    • Perl
  • GCCで関数の引数が渡らない

    gcc Ver2.9 でSH-2の開発をしています。 通常に関数を作成し、引数を渡しているのですが、引数が渡らないという現象が起きています。 現象は、 1.引数はポインタではなく値渡しである 2.引数の値が0の時だけ正しく渡らない。値が0以外の時は正常にわたる 3.引数の型は一致している 4.引数は複数あるが、後半のいくつかがだめ(何個とまでは詳しく調べていません) 5.ある特定の関数の特定の呼び出しのみがだめで全てだめというわけではない 6.コンパイルオプションに -m2 をつけるとだめだが、-m1 オプションだと問題ない 7.最適化オプションをなくしても同じだった といった状況です。 上記5からある特定の記述方法とか順序になるとだめになるのではないかといろいろ試してみたのですが見つけられません。6から記述方法に誤りがあるとも考えにくい状況です。コンパイラのバグといって片付けていいものなのかどうかです。どなたか同じような経験をされた方はいらっしゃいませんか。また関数呼び出しの場合、コンパイラがどうやって引数を渡すかご教授願えませんか。

  • 関数の引数に 値を入れることを 渡す その関数が結

    関数の引数に 値を入れることを 渡す その関数が結果を出すことを 返す とか 返り値戻り値 という この認識であっていますか?

  • PL/SQLでフェッチでNULLの項目について

    PL/SQLで質問があります。 たとえば複数レコードがあり、フェッチで1件ずつ処理する場合、 1件目で値あり、2件目NULLの場合、2件目のフェッチでINTOした変数はNULLが保証されるでしょうか? それとも1件目の値が残ってしまうでしょうか? サンプルでフェッチのループ内で変数の初期化をしない場合でも、NULLで上書きされているようにみえますが、PL/SQLではありませんが以前ProCでNULLの場合は前のレコードの値が残ってしまったため、PL/SQLは上書きが保証されるのかが気になっています(どちらもオラクルなので似た仕様になるのではと懸念)。 グーグル先生に聞いてみましたが、明記されているサイトがみつからず・・・。 ProCはインディケータでNULLを判定するので値の変数にはNULLの場合、何もしないだけでPL/SQLでは特に初期化を気にすることはないのかもしれませんが、仕様として記述されている箇所が見つからないためご存知の方がいらっしゃいましたら教えて頂けると助かります。 具体的には仕事でそういうコーディングになっている箇所があり、直すべきかそのままで問題ないかを検討しています。 現段階ではあまり修正できる状況ではないため、問題にならなければそのままとしたいと考えています。 サンプルの実行結果上は問題なさそうなのですが、できればプラスアルファの情報が欲しく。

  • 2番目に小さい引数を返す関数

    mysql5で2番目(またはN番目)に小さい(または大きい)引数を返す関数はありますか 例えば、 func(2番目, 2, 15, 7) のようにして7を返してくれるような関数はありますか または真ん中の数を返してくれる関数はありますか func(2, 15, 7) で7が返る これはさすがにないか・・・

    • ベストアンサー
    • MySQL
  • 戻り値と引数

    戻り値と引数の概念がよくわかりません。 質問内容は2つ (1)「戻り値は値を関数元に返す」 とありますが 返すとどうなるのですか? また返さないとどうなるのかを教えて下さい。 (2)引数に関しては眺めていればこの引数が値を渡してるというのは なんとなくわかるのですが、実際のプログラムを組んで関数を作成するときに何を引数にすればいいのかさっぱりです。それを教えて下さい。

  • MySQLで一番最後のレコードをしる関数って?

    MySQLで一番最後のレコードを知る関数ってありますか? noや時間情報のソートの最初の値ではなく、簡単に最後に追加したレコードを取得する方法。 ないなら、方法としてはレコード数をカウントして、全カウント数番目をselectすればいいんでしょうか? SQLには、最後とかの概念がないかな?

    • ベストアンサー
    • MySQL
  • javascriptの関数に引数を一個以上(不特定)渡したい

    javascriptの関数に引数を渡したいのですが、普通は値を渡す時、 function quotation(a,b) { alert(a+b); } <a href="#" onMouseover="quotation(12,13)">12+13</a> のようにすると思いますが、関数に値を渡す所の引数に「2個の値を渡す」とは決まっておらず例えば、4個値を渡すこともあれば、1個だけ値を渡すこともあるというプログラムを作りたいと考えています(必ず、1個以上の値を渡したいと思っております)。 このように、何個値を渡すか確定できていないときに柔軟に処理できるようにすることは、javascriptでは可能ですか?可能であれば、どのようにするのかやり方を教えてください。