INTの1つの入力を受け取る単純なストアドプロシージャがあります。このプロシージャは、1つの値(@KEY)をVARCHARとして宣言します。手続きのロジックは、@KEYの値を英数字の値に設定します。ストアドプロシージャを呼び出すときにvarchar値をデータ型intに変換するときに変換に失敗しました
ALTER PROCEDURE [dbo].[sp_Get_KEY]
@member Int
AS
BEGIN
SET NOCOUNT ON
DECLARE @KEY VARCHAR(12)
SET @KEY = ''
IF Exists (Select * From Version Where NAME = 'WIN' AND MEMBER = @member)
Begin
Set @KEY = '95+'
End
RETURN @KEY
END -- END OF PROCEDURE
私が使用してプロシージャを呼び出すとき:
宣言@return_key VARCHAR(20) EXEC @return_key = dbo.sp_Get_KEY 2222
最後に、手順は@KEYの値を返します
次のエラーが表示されます。
varchar値'95 + E 'をデータ型intに変換すると、変換に失敗しました。
アイデア?
そして、何:
戻り値は常に
例整数でなければなりませんか? –
https://docs.microsoft.com/en-us/sql/relational-databases/stored-procedures/return-data-from-a-stored-procedure – Serg