用以下的方法:
declare @SqlStr varchar(128)
set @SqlStr='Create Table '+@你的表名
exec(@SqlStr)

解决方案 »

  1.   

    我这样写为什么提示
    服务器: 消息 2812,级别 16,状态 62,行 1
    未能找到存储过程 'C'。
    CREATE PROCEDURE [dbo].[CreateKq] (@tbname char)AS
    declare @removetable char
    declare @createtable char
    set @removetable='drop table [dbo].[KQTIMETABLE'+@tbname+']'
    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[KQTIMETABLE'+@tbname+']') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    exec(@removetable)
    set @createtable='CREATE TABLE [dbo].[KQTIMETABLE'+@tbname+'] (
    [EMP_ID] [char] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
    [EMP_NAME] [char] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
    [KQ_DT] [datetime] NOT NULL ,
    [ONOFF] [char] (1) COLLATE Chinese_PRC_CI_AS NOT NULL ,
    [STATUS] [char] (2) COLLATE Chinese_PRC_CI_AS NULL ,
    [CARD_DT] [datetime] NULL ,
    [FLOATTIME] [int] NULL ,
    [ENABLESCOPE] [int] NULL ,
    [VALIDSTART] [datetime] NULL ,
    [VALIDEND] [datetime] NULL ,
    [CHANGED_BY] [char] (20) COLLATE Chinese_PRC_CI_AS NULL ,
    [LUP_DT] [smalldatetime] NULL ,
    [REMARK] [char] (50) COLLATE Chinese_PRC_CI_AS NULL 
    ) ON [PRIMARY]'
    exec(@createtable)
    GO
      

  2.   

    不知你是否在delphi中报错,我也遇到过这样的问题
    存贮过程中有以下语句,在SQL查询分析器中能正常执行,但在delphi中执行存贮过程报错: 列 'MONEY' 的定义中必须包括数据类型.'=' 附近有语法错误. 也还没解决.
     select @sql=' alter table #t add  '+ @LB+ '  MONEY NULL '
     execute (@sql)
      

  3.   

    你指的是动态创建临时表吧?
    可以使用如下的方法(例如):
    CREATE TABLE #MyTempTable (cola INT PRIMARY KEY)
    INSERT INTO #MyTempTable VALUES (1)
    在表名前面加"#"表示创建临时表,在程序结束后会自动删除临时表,
    而且每个客户端实际不是使用同一个临时表,而且,在程序结束后会
    自动释放临时表。
    我想你要的应该是这个,对吗?