2014-03-29 53 views
0

我想編寫一個存儲過程,預期名稱的表作爲參數,然後創建一個與該名稱的表。我已經嘗試了下面的一塊SQL語句,但它似乎沒有工作編寫一個存儲過程,需要表名稱作爲參數,並創建一個名稱爲

create proc sp_createtable @tablename varchar(30) 
as 
begin 
create table @tablename 
(
employees varchar(30), 
) 
end 

的問題,此代碼是它產生以下錯誤消息 102,級別15,狀態1,過程sp_createtable,4號線 附近有語法錯誤'@tablename'。

+0

您需要使用動態TSQL。查找sp_executesql(假設sql服務器;請說明你的RDBMS) –

+0

這是sql服務器。 – rtz87

回答

2
DECLARE @FullStatement NVARCHAR(2000) 
SET @FullStatement = 'create table' + @tablename + ' (employees varchar(30))' 
EXECUTE (@FullStatement) 
相關問題