SQL Server 2008でストアドプロシージャを作成していますが、クエリの影響を受ける行を数える必要があります。@@ ROWCOUNTの正しいタイプは何ですか?
DECLARE
@my_rows AS INT
、その後
SELECT *
FROM a table
WHERE some conditions
SET @[email protected]@ROWCOUNT
それが正常に動作しますが、私はINTとして宣言する場合、私は次のエラーを取得するvarchar型として、私はmy_rowsを宣言した場合:
Arithmetic overflow error converting expression to data type tinyint.
に正しい型である何宣言しますか?私は、行の数値は整数とすることができたと思う0と合計行数の間に。
私はあなたのコードを問題なくテストしました。例外状態として '@ my_rows'を' tinyint'ではなく 'int'と宣言してもよろしいですか? – Magnus
HarshalYが答えて書いたように、['@@ ROWCOUNT'](https://msdn.microsoft.com/en-us/library/ms187316.aspx)のデータ型は実際は' int'です。 私はあなたのコードを(実際のselectステートメントで)試してもエラーは出ません。 あなたのエラーテキストは、 '@ my_rows'を' int'ではなく 'tinyint'と宣言したことを示唆しています。おそらくそれが問題です。 –
あなたは質問のコードからそのエラーを得ることはありません。これが実際に実行しているコードと一致していることを確認してください。 –