-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と、これは機能するはずです。を使用してSQLServer2008でテストしたところexec dbo.new_SP test、テーブルが作成されました。

SQL FiddlewithDemoを参照してください

于 2012-09-19T11:45:52.930 に答える