2017-05-18 33 views
1

我試圖尋找一些職位,但我沒有幸運地找到了喜歡我的情景:如何使用執行使用select語句到SQL

這是我的嘗試,但沒有運氣。

declare @tb varchar(30) 
set @tb = 'newtablename' 
declare @sql varchar(30) = 'select * into ' + @tb + ' from tbl_3;' 
EXEC sp_executesql @sql 

它將返回一個錯誤

程序期望類型 'NTEXT/NCHAR/nvarchar的' 的參數 '@statement'。

任何建議,將不勝感激。

在此先感謝。

回答

2

您聲明的@tb@sql變量類型爲varchar(30)。該錯誤明確警告,它期望ntext,nchar或nvarchar。此外,您的@sql字符串將被截斷長度爲30.我建議將您的代碼更改爲以下內容:

declare @tb nvarchar(30) 
set @tb = 'newtablename' 
declare @sql nvarchar(255) = 'select * into ' + @tb + ' from tbl_3;' 
EXEC sp_executesql @sql