
ストアドプロシージャ内で@@ERRORと@@ROWCOUNTを併用で使用しています。下記URLでは問題ないかの様に記述されていますが、当方の環境では×です。下記の様なストアドです。
declare @errNo int
insert into ~
set @errNo = @@ERROR
if ( @errNo <> 0 )
return @errNo
if ( @@ROWCOUNT = 0 )
return 100
上記では、insert時のエラーは取得でき、@@ROWCOUNTは正常に1件挿入された場合でも、0が取得され、結果return 100が返される事になります。おそらく、@@ROWCOUNTの前でエラーハンドリングしている為、そこでリセット?されていると思われます。逆に、@@ROWCOUNTのハンドリングをエラーハンドリングより前にすると、今度は@@ROWCOUNTは正常に挿入された数が返ってくるものの、エラーハンドリングはされません。(おそらく、@@ROWCOUNTのハンドリング時に@@ERRORがリセットされる為と思われる。)この様な場合どうすればいいのでしょう?因みに以下のURLではOKらしいですが。。。
http://www.microsoft.com/japan/msdn/library/defa …
No.1ベストアンサー
- 回答日時:
こうしてください。
declare @errNo int
declare @rowcnt int
insert into ~
--↓ここでいっぺんに変数に格納してしまう
select @errNo = @@ERROR,@rowcnt = @@ROWCOUNT
if ( @errNo <> 0 ) --@@ERRORではない
return @errNo
if ( @@rowcnt = 0 ) --@@ROWCOUNTではない
return 100
ありがとうございます!ものの見事にうまくいきました。勉強になりました。それにしても、msdnのURLに記述されている例はなんなんでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで、シート間の転記するコードをFOR~NEXTで教えてください。 9 2023/04/30 20:04
- PHP PHP MySql ページング 2 2022/09/20 06:38
- C言語・C++・C# C++のcase文の書き方 4 2023/02/24 20:50
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- PHP phpのエラーについて 1 2022/06/27 22:30
- C言語・C++・C# C言語 3 2022/10/04 15:07
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access Excelへ出力時にエラー
-
お世話になります。
-
TRANSACT-SQLでのシステムエラ...
-
postgreSQLのエラーについて
-
VB5 + SQLServer2005 で長時間...
-
全ストアドを対象に文字列を置...
-
CSV出力時、件数によりエラーと...
-
Access2000でDAOを使用したとき...
-
ORA-1036??
-
SQLのエラー(~付近に不適切な...
-
エクセルからSQLサーバー ...
-
PostgreSqlでFunctionの作成に...
-
DB2でselectは出来るが、update...
-
エクセルマクロで指定範囲内の...
-
ACCESS2000ディスクまたはネッ...
-
有名ブランドの便座カバーて一体?
-
SQL SERVER 2012のダウングレー...
-
SQLserver 2005 の評価版を利用...
-
VBExpressからSQLサーバーへの接続
-
Xampp上で、sql server 2005を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQLのエラー(~付近に不適切な...
-
Oracle 8i コンマ(,)を含むデ...
-
PostgreSqlでFunctionの作成に...
-
バッチファイルからのBCP起動に...
-
ACCESS ADOでupdateが効かない
-
ACCESS2000ディスクまたはネッ...
-
GROUP BYでエラーが発生
-
エクセルマクロで指定範囲内の...
-
何も表示されない実行時エラー...
-
エクセルのグループボックス枠...
-
sqlで文字列を最後に追加したい
-
エクセルからSQLサーバー ...
-
ACCESSで作成したアプリケーシ...
-
クエリの存在チェック
-
Access2000環境に対応するMid関...
-
複数の表の外部結合について
-
SQLServerが存在しないか、アク...
-
自作関数を含んだクエリをエク...
-
SQLServer・ストアドプロシージ...
-
SQLserverのIF文について
おすすめ情報