sql
1 INSERT 2 INTO 3 TABLE_NAME 4 VALUES 5 ( 6 @変数1, 7 @変数2, 8 @変数3, 9 @変数4, 10 @変数5, 11 @変数6, 12 @変数7, 13 '固定値1', 14 SYSDATETIME(), 15 '固定値2', 16 SYSDATETIME() 17 ); 18 19 --INSERT文の件数を取得 20 PRINT 'HERE' 21 -- PRINT CAST(@@ROWCOUNT AS varchar(5)) + 'INSERTで取得'; 22 SET @INSERT_NUM = @INSERT_NUM + @@ROWCOUNT; 23 PRINT '現在のINSERT件数は' + CAST(@INSERT_NUM AS varchar(5));
上記のようなSQL文があります。(1件がインサートされます。)
この処理に至るまでに、@INSER_NUM変数には3という値が入っていることは確認しているのですが、
この処理を実行後、変数の値が1になってしまいます。
ちなみにこのSQL文はELSE IF で実行されています。
情報量が少ないかもしれませんが、この部分で何かおかしいいところはありますか。
コメントアウトになっている以下の部分
sql
1PRINT CAST(@@ROWCOUNT AS varchar(5)) + 'INSERTで取得';
を解除すると0という値が返ってきます。
実行後、該当テーブルには値が挿入されているのですが、、、、。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。