编写一个将表名作为参数的存储过程,并创建一个具有该名称的表

时间:2014-03-29 02:50:14

标签: sql-server tsql

我想编写一个存储过程,希望将表的名称作为参数,然后创建一个具有该名称的表。我已经尝试了下面的一段sql语句,但它似乎没有工作

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

此代码的问题是它产生以下错误 消息102,级别15,状态1,过程sp_createtable,第4行 ' @ tablename'。

附近的语法不正确

1 个答案:

答案 0 :(得分:2)

DECLARE @FullStatement NVARCHAR(2000)
SET @FullStatement = 'create table' + @tablename + ' ( employees varchar(30))'
EXECUTE (@FullStatement)