我希望在工具/腳本中自動使用代碼將調用替換爲存儲過程。最好用一個例子來解釋。Sql:使用存儲過程代碼替換存儲過程調用的腳本
我有這樣的代碼,其中一個存儲過程調用兩次
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來完成,可以用另一種語言來完成。它也不必涵蓋所有情況。
你試圖用存儲過程中的邏輯替換對存儲過程的調用嗎? – Andrew
@安德魯:確切! – neves
哇。我當然不知道你通過T_SQL做了什麼。我想你可以寫一個Java程序或其他東西來解析所有的腳本並做適當的修改,但這聽起來很複雜。另外,您必須生成所有適當的腳本並將它們保存爲文件。聽起來很可怕。 – Andrew