
いつもお世話になっております。
Oracle11gと.NET C#で開発をしている初心者です。
下記の様なInsertの構文を書きました。
結果、c_1にInsertするレコードが無かった場合、
out_val := 0;
としたいのですが、
その書き方が分かりません。
色々試したのですが、
出来ませんでした。
本当に初歩的な質問なんだと思うのですが、
ご教授頂きたく、宜しくお願い致します。
記
create or replace
procedure dbInsD売上予測
(
out_valoutpls_integer
)
as
CURSOR c_1 is
select 注文NO,受注NO,売上日,品番,数量,登録日時,登録者
FROM D売上台帳 a
WHERE NOT EXISTS(SELECT * FROM D売上予測 b WHERE a.受注NO = b.受注NO);
begin
for r_emp in c_1 loop
if c_1%FOUND then
INSERT INTO D売上予測
(
注文NO,受注NO,売上日,品番,数量,登録日時,登録者
)
values( r_emp.注文NO,r_emp.受注NO,r_emp.売上日,
r_emp.品番,r_emp.数量,r_emp.登録日時,r_emp.登録者
)
;
end if;
end loop;
out_val := sql%rowcount;
end;
No.2ベストアンサー
- 回答日時:
>for r_emp in c_1 loop
の前で、
out_val := 0;
として、
INSERT文の後で
out_val := out_val + 1 ;
とします。
No.1
- 回答日時:
loop中のinsert文の後で
out_val := out_val + sql%rowcount;
として件数を累積していけばいいのではないでしょうか。
その場合、
out_val := 0;
の初期化が必要になると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PL/SQLカーソルの2重FORループ...
-
カーソル定義での条件分岐
-
自動連番でカラムを更新したい
-
PL/SQLのOPEN cursor_name FOR...
-
PL/SQLでのSQL文法
-
Accessのマクロでモジュールを...
-
Statement ignored というエラー
-
Access VBAで行ラベルが定義さ...
-
キャッシュを使わずにSELECTを...
-
SQLで部分的にGROUP BYしたいとき
-
callで順に実行されるプロシー...
-
ODBCリンクの際にACCESSでは読...
-
SQLserver算術オーバーフロ...
-
或るプロシージャの呼び出し元判定
-
ストアド実行時のエラー「参照...
-
全角空白のTRIMができない...
-
エクセルVBAでUserFormを起動し...
-
【Excel VBA】 WorksheetやRa...
-
sqlplusのspoolで空白行出現
-
PL/SQLでSPOOLさせたいのですが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PL/SQLカーソルの2重FORループ...
-
カーソル定義での条件分岐
-
Texの枠囲み調節
-
自動連番でカラムを更新したい
-
ORA-00904:無効な識別子の回避...
-
PL/SQLでのSQL文法
-
PL/SQLにて、マスタから取得し...
-
mysqlのcase文で複数の条件を指...
-
PL/SQLのOPEN cursor_name FOR...
-
PL/SQLでの配列についてetc
-
PL/SQLにてカーソル名を変数に
-
PL/SQLでカーソルを指定する方法
-
T-SQLのカーソルで
-
PL/SQL カーソルのFROM句にカー...
-
[Oracle9i]PL/SQLでFETCHしても...
-
ROW_NUMBER BY PL/SQL
-
T-SQLで
-
PL/SQLプログラムの書き方がわ...
-
PL/SQLのカーソルについて
-
処理の結果レコードがなかった...
おすすめ情報