自己除錯通過的儲存過程

2022-08-30 09:03:11 字數 1936 閱讀 6016

create procedure getrecordfrompage

@tblname      varchar(255),       -- 表名

@fldname      varchar(255),       -- 欄位名

@pagesize     int = 10,           -- 頁尺寸

@pageindex    int = 1,            -- 頁碼

@iscount      bit = 0,            -- 返回記錄總數, 非 0 值則返回

@ordertype    bit = 0,            -- 設定排序型別, 非 0 值則降序

@strwhere     varchar(1000) = ''  -- 查詢條件 (注意: 不要加 where)

as declare @strsql   varchar(6000)       -- 主語句

declare @strtmp   varchar(100)        -- 臨時變數

declare @strorder varchar(400)        -- 排序型別

if @ordertype != 0

begin

set @strtmp = '<(select min'

set @strorder = ' order by [' + @fldname +'] desc'

endelse

begin

set @strtmp = '>(select max'

set @strorder = ' order by [' + @fldname +'] asc'

end

set @strsql = 'select top ' + str(@pagesize) + ' * from ['

+ @tblname + '] where [' + @fldname + ']' + @strtmp + '(['

+ @fldname + ']) from (select top ' + str((@pageindex-1)*@pagesize) + ' ['

+ @fldname + '] from [' + @tblname + ']' + @strorder + ') as tbltmp)'

+ @strorder

if @strwhere != ''

set @strsql = 'select top ' + str(@pagesize) + ' * from ['

+ @tblname + '] where [' + @fldname + ']' + @strtmp + '(['

+ @fldname + ']) from (select top ' + str((@pageindex-1)*@pagesize) + ' ['

+ @fldname + '] from [' + @tblname + '] where ' + @strwhere + ' '

+ @strorder + ') as tbltmp) and ' + @strwhere + ' ' + @strorder

if @pageindex = 1

begin

set @strtmp = ' '

if @strwhere != ' '

set @strtmp = ' where ' + @strwhere

set @strsql = 'select top ' + str(@pagesize) + ' * from ['

+ @tblname + ']' + @strtmp + ' ' + @strorder

end

if @iscount != 0

set @strsql = 'select count(*) as total from [' + @tblname + ']'

exec (@strsql)

go

儲存過程除錯

sql server2008儲存過程除錯 昨天被問到sql server中儲存過程怎麼除錯,我曾經寫儲存過程,除錯方法非常笨拙,就是逐條執行語句,然後檢視結果是不是預期的,這樣的除錯方法,實在是無奈之舉,極大程度地限制了開發速度和準確性。今天在他的提點下,研究了下sql server 2008的儲存...

除錯儲存過程

在編寫儲存過程中,寫了n多行 結果一執行程式,就在資料庫這裡報錯。那麼如何在寫完儲存過程之後就能立即測試一下村粗過程呢?1 不會寫t sql來正確執行儲存過程 當你想到要除錯儲存過程的時候,人家微軟一定早已經想到並且做到了。微軟一定為沒有很好資料庫程式設計的人員開發了 傻瓜式 的工具。我們應該去儲存...

通過儲存過程分頁

asp.net中實現分明功能,主要運用的是aspnetpager,再呼叫儲存過程進行分頁,該方法適合運用的範圍非常廣,不錯,set ansi nulls on set quoted identifier on goalter procedure dbo getpagerdata 表名 tbname ...