高手帮一下忙啊!看一下下边这段代码为什么不能用

springcome 2003-12-12 06:20:35
CREATE proc test3_proc
(
@tablename varchar(30)
)
as
create table @tablename
(
id int,
name varchar(50)
)
go
为什么create table @tablename这一句代码出错了啊!@tablename是外部传来的值!
我想动态的创建表
...全文
44 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
springcome 2003-12-12
  • 打赏
  • 举报
回复
谢谢Rotaxe(程序员)你哈,问题已经解决了!
Rotaxe 2003-12-12
  • 打赏
  • 举报
回复
CREATE proc test3_proc
@tablename varchar(30)
as
declare @str varchar(1000)
select @str='create table ' +@tablename +'(id int,name varchar(50)'
exec(@str)

vileboy 2003-12-12
  • 打赏
  • 举报
回复
改成这样就可以了:
CREATE proc test3_proc

@tablename varchar(30)

as
declare @sql nvarchar(500)
set @sql='create table'+ @tablename+'
(
id int,
name varchar(50)
)'
exec(@sql)
go

22,301

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧