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)
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と、これは機能するはずです。を使用してSQLServer2008でテストしたところexec dbo.new_SP test、テーブルが作成されました。
SQL FiddlewithDemoを参照してください
于 2012-09-19T11:45:52.930   に答える