使用动态的sql 语句
REATE PROCEDURE PayTcreate 
@TableName text
AS
declare @str varchar(8000)
set @str='CREATE table '+ @TableName+'(payNum [varchar] NOT NULL CONSTRAINT pay_paynum PRIMARY KEY NONCLUSTERED,payName [varchar] (50) NOT NULL)'
exec(@str)
GO

解决方案 »

  1.   

    REATE PROCEDURE PayTcreate 
    @TableName text
    AS
    declare @sql varchar(100)
    set @sql='CREATE table '+ @sql + '(payNum [varchar] NOT NULL CONSTRAINT pay_paynum PRIMARY KEY NONCLUSTERED,payName [varchar] (50) NOT NULL,)'
    exec (@sql)
    GO
      

  2.   

    declare @sql nvarchar(4000)
    declare @table_name sysname
    select @table_name='ai'
    select @sql='create table '+@table_name+'(i int)'
    execute sp_executesql @sql
      

  3.   

    create PROCEDURE PayTcreate 
    @TableName varchar(20)
    AS
    declare @sql varchar(200)
    set @sql='
    CREATE table '+@tablename+'(payNum varchar(20) NOT NULL ,payName varchar(50) NOT NULL,
    CONSTRAINT pay_paynum PRIMARY KEY(payNum))'
    exec(@sql)
    GO