SQL Server 2008(TSQL)では、次のようなストアドプロシージャを作成しました。
CREATE PROCEDURE SP_1_10_2
AS
declare @mostValuableBook nvarchar(255)
SELECT @mostValuableBook = Name
FROM books
WHERE price =
( SELECT MAX(price)
FROM books
WHERE izd LIKE '%BHV%' );
return @mostValuableBook
GO
しかし、私がそれを実行しようとしているとき:
declare @x nvarchar(255)
EXECUTE @x = SP_1_10_2;
SELECT 'The most expensive BHV book:', @x AS 'Name'
GO
エラーが発生しました:
nvarchar値「InternetExplorer3original」をデータ型intに変換するときに変換に失敗しました。
問題は一線を画しているようです
EXECUTE @x = SP_1_10_2;
何が悪いのか教えていただけますか?なぜintに変換しようとしているのですか?