程式呼叫儲存過程,方便簡潔,而且如果邏輯有問題,修改儲存過程就行,沒有必要對程式進行公升級,這個是最大的好處。但是現實中,儲存過程往往也會出現一些問題.
現在談談怎麼用輔助方式來發現儲存過程的一些技巧.
1)別名。假如正式生產環境下,客戶發現你的程式有問題,你環境程式呼叫的儲存過程proc_a有問題。你想修改proc_a的,但是又不能立即修改。其實,你可以這麼做,將儲存過程proc_a的內容拷貝出來,重新建立乙個名字為proc_b的儲存過程,這樣你就可以在正式環境下直接傳入相關的引數來執行proc_b看看執行的效果直到修改好proc_b,沒有問題後。再將新修改的儲存過程內容替換上去
2)在除錯儲存過程,需要看看執行到哪一步的效果,可以用print列印相關日誌檢視到效果.
類似以下的儲存過程proc_a:留意定義的@msg變數,將整形以及字串的轉換後直接列印出來.這樣呼叫儲存過程之後就可以看到下面的列印日誌
create proc proc_a
(
@id varchar(20)
)
as
begin
declare @msg varchar(255)
select @msg='test'
print @msg
declare @a int
a=10
select @msg = convert( varchar, @a)
print @msg
end
go
print 'proc_a'
go
3)還可以接入建立表來幫助定位問題,在儲存過程裡面插入test表一些相關資料,然後檢視test表執行到哪一部了.
drop table test
create table test
(id numeric(8, 0) not null,
msg varchar(255) null
)create proc proc_a
(
@id varchar(20)
)
as
begin
insert into test(id,msg) values(0, convert( varchar, @id) )
end
go
print 'proc_a'
go
上面的儲存過程呼叫完成之後,查詢test表就可以看到效果了
儲存過程除錯
sql server2008儲存過程除錯 昨天被問到sql server中儲存過程怎麼除錯,我曾經寫儲存過程,除錯方法非常笨拙,就是逐條執行語句,然後檢視結果是不是預期的,這樣的除錯方法,實在是無奈之舉,極大程度地限制了開發速度和準確性。今天在他的提點下,研究了下sql server 2008的儲存...
除錯儲存過程
在編寫儲存過程中,寫了n多行 結果一執行程式,就在資料庫這裡報錯。那麼如何在寫完儲存過程之後就能立即測試一下村粗過程呢?1 不會寫t sql來正確執行儲存過程 當你想到要除錯儲存過程的時候,人家微軟一定早已經想到並且做到了。微軟一定為沒有很好資料庫程式設計的人員開發了 傻瓜式 的工具。我們應該去儲存...
TOAD 除錯儲存過程
set serveroutput on declare var number begin sql語句 dbms output.put line column name ci end 1.基本結構 create or replace procedure 儲存過程名字 引數1 in number,引數2...