帮忙看看哪儿的错
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 行
'@parm_name' 附近有语法错误。
消息 102,级别 15,状态 1,过程 CEMIS_DelDbObject,第 29 行
'@parm_name' 附近有语法错误。
消息 102,级别 15,状态 1,过程 CEMIS_DelDbObject,第 34 行
'@parm_name' 附近有语法错误。
消息 102,级别 15,状态 1,过程 CEMIS_DelDbObject,第 39 行
'@parm_name' 附近有语法错误。
[解决办法]
exec(' drop view '+ @parm_name+)
---全部换成这样