我試圖用頂級值select語句像參數:選擇頂在SQL nvarchar的,而不是INT
CREATE PROCEDURE PROC_TOP @NUM INT AS
DECLARE @SQL VARCHAR(255) = 'SELECT TOP ' + @NUM + ' * FROM MYTABLE;'
BEGIN
EXEC sp_executesql @SQL
END
這回我一個錯誤:
Conversion failed when converting the varchar value 'SELECT TOP ' to data type int.
但是,當我從改變int
到nvarchar
工作:
PROC_TOP @NUM nvarchar(50)
DECLARE @SQL nvarchar(255)
我的問題是:
爲什麼Sql接受數據類型nvarchar
而不是Int
?
這是工作,如果DECLARE SQL VARCHAR(255)改變申報SQL NVARCHAR (255)..謝謝 - – redzsol