当前位置: 代码迷 >> Sql Server >> 帮忙看看哪儿的错,该怎么处理
  详细解决方案

帮忙看看哪儿的错,该怎么处理

热度:84   发布时间:2016-04-27 19:23:36.0
帮忙看看哪儿的错
alter PROCEDURE CEMIS_DelDbObject

AS
BEGIN
  DECLARE @parm_type varchar(100)
  DECLARE @parm_name varchar(100)  
   
  --检索所有系统对象
DECLARE DbObjectCursor CURSOR FOR
select [name],[type] from sysobjects
OPEN DbObjectCursor
FETCH NEXT FROM DbObjectCursor INTO @parm_name,@parm_type
  WHILE @@FETCH_STATUS=0
Begin 
  --视图
 
if(@parm_type='V')
begin
  drop view @parm_name;
end
  --存储过程
  if(@parm_type='p')
  begin
  DROP PROCEDURE @parm_name;
  end
  --触发器
  if(@parm_type='TR')
  begin
  DROP TRIGGER @parm_name;
  end
  --函数
  if(@parm_type='fn')
  begin
  DROP FUNCTION @parm_name;
  end
FETCH NEXT FROM DbObjectCursor INTO @parm_name,@parm_type
end
CLOSE DbObjectCursor
DEALLOCATE DbObjectCursor
END
GO


报错

消息 102,级别 15,状态 1,过程 CEMIS_DelDbObject,第 24 行
[email protected]_name' 附近有语法错误。
消息 102,级别 15,状态 1,过程 CEMIS_DelDbObject,第 29 行
[email protected]_name' 附近有语法错误。
消息 102,级别 15,状态 1,过程 CEMIS_DelDbObject,第 34 行
[email protected]_name' 附近有语法错误。
消息 102,级别 15,状态 1,过程 CEMIS_DelDbObject,第 39 行
[email protected]_name' 附近有语法错误。


------解决方案--------------------
exec(' drop view '+ @parm_name+) 
---全部换成这样
  相关解决方案