-5
CREATE PROCEDURE new_SP
(
    @tablename varchar(50)
)
AS  
BEGIN
    DECLARE @xxx varchar(50)
    SET  @xxx= 'CREATE TABLE '+@tablename+'( name VARCHAR (50))'
    PRINT @xxx
    EXEC (@xxx)
4

1 回答 1

2

至少立即,我注意到您缺少end

create procedure new_SP ( @tablename varchar(50)

)
as
  begin
    declare @xxx varchar(50)
    set  @xxx= 'create table '+@tablename+'( name varchar (50))'
    print @xxx
    exec (@xxx)
  end  -- you are missing this

如果您添加END,那么这应该可以工作。刚刚在 SQL Server 2008 中对其进行了测试,使用exec dbo.new_SP test并生成了一个表。

请参阅带有演示的 SQL Fiddle

于 2012-09-19T11:45:52.930 回答