存储过程的问题

wjfxyj 2012-05-13 09:19:01
存储过程如下:
CREATE procedure XjfgsSRB
@TableName varchar(30)
as
if object_id('+ @TableName + ') is not null drop table ['+ @TableName +']
begin
exec('create table [' + @TableName + '] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[lp] [varchar] (3) ,
[ch] [varchar] (7) ,
[xl] [varchar] (6)
)')
end
GO

调用:
declare @TableName varchar(30) set @TableName='F2201252' exec XjfgsSRB @TableName

如果F2201252表存在,就删除它后再建一个新表
如果F2201252表不存在,就建立一个新表
问题是不会删除原表
请各位大侠指教
...全文
43 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wjfxyj 2012-05-13
  • 打赏
  • 举报
回复
1楼正解,给分结贴
快溜 2012-05-13
  • 打赏
  • 举报
回复
exec('drop table ['''+ @TableName +''']')
快溜 2012-05-13
  • 打赏
  • 举报
回复
exec(drop table ['''+ @TableName +'''])
  • 打赏
  • 举报
回复

CREATE procedure XjfgsSRB
@TableName varchar(30)
as
declare @str varchar(200)
set @str='if object_id('+''''+ @TableName + ''''+') is not null
drop table ['+ @TableName +']'
exec(@str)
begin
exec('create table [' + @TableName + '] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[lp] [varchar] (3) ,
[ch] [varchar] (7) ,
[xl] [varchar] (6)
)')
end
GO

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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