-1

このコードを使用しようとしていますが、なぜこのエラーが発生するのかわかりません:

Msg 8114, Level 16, State 5, Procedure stat_mob_user_spec, Line 23
Error converting data type nvarchar to bigint.

コードは次のとおりです。

ALTER PROCEDURE [dbo].[stat_mob_user_spec] (@bt NVARCHAR(60) = NULL)
AS
    DECLARE @ResultValue FLOAT,
            @test        NVARCHAR(70)

    BEGIN TRAN

    SET @test = 'and blood_type = ' + @bt;

    IF @bt = 'abc'
      BEGIN
          SET @test = '';
      END

    SELECT @ResultValue = COUNT(id_tips)
    FROM   tips,
           blood
    WHERE  blood_id = id_blood + @test;

    IF @ResultValue <> 0
      BEGIN
          ROLLBACK TRAN
      END
    ELSE
      BEGIN
          COMMIT TRAN
      END

    RETURN @ResultValue 

パラメータ(abc)を入力すると、このコードは機能します...悪い結果が得られました..しかし、何か他のことを試してみるとエラーが発生します...助けはありますか?

私はSQLサーバー2008を使用しています

4

1 に答える 1