0

我想要工具/脚本,它会自动用代码替换对存储过程的调用。最好用一个例子来解释。

我有这样的代码,其中存储过程被调用两次

declare @x int, @y int
set @x = 10 
exec @y = calculate_and_insert @x

set @x = @y 
exec @y = calculate_and_insert @x

被调用过程的代码如下:

create stored procedure calculate and insert @in int
as 
   declare @x int
   set @x = 10
   return @x + @in

看到它在外部范围内有一个同名的变量

我想生成类似的东西:

declare @x int, @y int
set @x = 10 
   declare @cai1_in int
   set @cai1_in = @x

   declare @cai1_x int
   set @cai1_x = 10
   set @y = @cai1_x + @cai1_in

set @x = @y 
   declare @cai2_in int
   set @cai2_in = @x

   declare @cai2_x int
   set @cai2_x = 10
   set @y = @cai2_x + @cai2_in

也许有人已经需要做类似的事情了。原因是我有很多存储过程不想在生产中更改,但我想执行它们的新版本以查看结果。我会在测试中重新编码它们并生成一个脚本。

我不必通过 SQL 完成,可以用另一种语言完成。它也不必涵盖所有情况。

4

1 回答 1

1

为什么不创建一个名为的新存储过程calculate_and_insert2并更改脚本以调用新过程。这将比您最初的建议更不容易出错。

于 2013-10-18T22:13:45.657 回答