Die Konvertierung ist fehlgeschlagen, wenn der nvarchar-Wert 'Internet Explorer 3 original' in den Datentyp int konvertiert wurde

In SQL Server 2008 (TSQL) habe ich eine gespeicherte Prozedur wie folgt erstellt:

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

Aber wenn ich versuche, es auszuführen:

declare @x nvarchar(255)
EXECUTE @x = SP_1_10_2;
SELECT 'The most expensive BHV book:', @x AS 'Name'
GO

Ich erhalte eine Fehlermeldung:

Die Konvertierung ist fehlgeschlagen, wenn der nvarchar-Wert 'Internet Explorer 3 original' in den Datentyp int konvertiert wurde.

Es scheint, als liege das Problem in der Leitung

EXECUTE @x = SP_1_10_2;

Kannst du mir bitte sagen, was los ist? Warum versucht es, in int zu konvertieren?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage