将所有存储过程的某个参数,修改成另一个定义
2004-03-24 20:08
495 查看
--* 感謝CSDN的zjcxc(: 邹建 :)
declare @o_para varchar(100),@n_para varchar(100) select @o_para='@resname varchar(10)' --你的存储过程中,参数原来的定义 ,@n_para='@resname varchar(100)' --新的参数定义 declare tb cursor for select name=object_name(id),id,colid from syscomments where objectproperty(id,'IsProcedure')=1 and status=0 and text like '%'+@o_para+'%' order by name declare @s1 varchar(8000),@s2 varchar(8000),@s3 varchar(8000),@s4 varchar(8000) ,@name sysname,@id int,@colid int,@oid int open tb fetch next from tb into @name,@id,@colid select @s2='',@s3='' while @@fetch_status=0 begin if @oid<>@id begin exec(@s1) exec(@s2+' '+@s3+' '+@s4+')') select @s1='drop proc ['+@name+']' ,@s2='declare @'+cast(@colid as varchar)+' varchar(8000)' ,@s3='select @'+cast(@colid as varchar)+'=replace(text,''' +@o_para+''','''+@n_para+''') from syscomments where id='+cast(@id as varchar) +' and colid='+cast(@colid as varchar) ,@s4='exec(@'+cast(@colid as varchar) end else select @s2=@s2+',@'+cast(@colid as varchar)+' varchar(8000)' ,@s3=@s3+' select @'+cast(@colid as varchar)+'=replace(text,''' +@o_para+''',''@resname varchar(200)'') from syscomments where id='+cast(@id as varchar) +' and colid='+cast(@colid as varchar) ,@s4=@s4+'+@'+cast(@colid as varchar) set @oid=@id fetch next from tb into @name,@id,@colid end close tb deallocate tb
相关文章推荐
- 得到所有用户存储过程及参数列表
- 获取SQL SERVER某个数据库中所有存储过程的参数
- 修改用户定义数据类型对已经编译的存储过程的影响的示例.sql
- 查询指定数据库的所有存储过程和参数
- SQL存储过程参数内容通过XML格式传送,把所有SQL语句操作放到一个存储过程里
- 折腾Oracle问题小菜记[分页存储过程/查询所有表、视图、存储过程/查询表、视图、存储过程字段结构与参数](三)
- 刷新SQL Server所有视图、函数、存储过程 更多 sql 此脚本用于在删除或添加字段时刷新相关视图,并检查视图、函数、存储过程有效性。 [SQL]代码 --视图、存储过程、函数名称 DECLARE @NAME NVARCHAR(255); --局部游标 DECLARE @CUR CURSOR --自动修改未上状态为旷课 SET @CUR=CURSOR SCROLL DYNAMIC FO
- 如何在MySQL的存储过程中实现把过程参数用在游标定义的SELECT命令里面作为表名引用
- SQL查询所有存储过程(sp)中的内容和参数(parameter)
- 折腾Oracle问题小菜记[分页存储过程/查询所有表、视图、存储过程/查询表、视图、存储过程字段结构与参数](三)
- SQL 用户定义表类型,在存储过程里使用表类型,表参数作参数
- 得到所有用户存储过程及参数列表
- 一个用于返回所有存储过程及其参数的T-SQL
- SQL - 如何查询某个存储过程的的所有参数:
- c#定义一个方法,根据存储过程名称和存储过程参数数组,执行对应的存储过程
- SQL 用户定义表类型,在存储过程里使用数据类型作参数
- 折腾Oracle问题小菜记[分页存储过程/查询所有表、视图、存储过程/查询表、视图、存储过程字段结构与参数](三)
- ADO.NET Entity Framework 如何:定义具有修改存储过程的模型(实体框架)
- xml 形式的参数 修改存储过程的创建
- 存储过程Append 二进制 _ParameterPtr“不正常地定义参数对象。提供了不一致或不完整的信息”