我想要工具/脚本,它会自动用代码替换对存储过程的调用。最好用一个例子来解释。
我有这样的代码,其中存储过程被调用两次
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 完成,可以用另一种语言完成。它也不必涵盖所有情况。