CREATE PROCEDURE [dbo].[dt_CreateRoomMessageTable]
@tableName varchar(50)
asCREATE TABLE [@tableName] (
[fdFromUID] [int] NULL ,
[fdFromUser] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[fdToUID] [int] NULL ,
[fdToUser] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[fdSendTime] [datetime] NULL ,
[fdPrivate] [int] NULL ,
[fdMessage] [ntext] COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GOexec('CREATE INDEX [index_ToUserID] ON ['+@tableName+']([fdToUID]) ON [PRIMARY]')
GO
如果去掉后面的创建索引代码,可以正常创建,加上索引的代码就提示说tableName未定义,怎么解决啊
@tableName varchar(50)
asCREATE TABLE [@tableName] (
[fdFromUID] [int] NULL ,
[fdFromUser] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[fdToUID] [int] NULL ,
[fdToUser] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[fdSendTime] [datetime] NULL ,
[fdPrivate] [int] NULL ,
[fdMessage] [ntext] COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GOexec('CREATE INDEX [index_ToUserID] ON ['+@tableName+']([fdToUID]) ON [PRIMARY]')
GO
如果去掉后面的创建索引代码,可以正常创建,加上索引的代码就提示说tableName未定义,怎么解决啊
CREATE PROCEDURE [dbo].[dt_CreateRoomMessageTable]
@tableName varchar(50)
as
exec('
CREATE TABLE ['+@tableName+'] (
[fdFromUID] [int] NULL ,
[fdFromUser] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[fdToUID] [int] NULL ,
[fdToUser] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[fdSendTime] [datetime] NULL ,
[fdPrivate] [int] NULL ,
[fdMessage] [ntext] COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
CREATE INDEX [index_ToUserID] ON ['+@tableName+']([fdToUID]) ON [PRIMARY]')
GO
不能加GO!