存储过程例题(1)
例:該存儲(chǔ)過程是從某結(jié)點(diǎn)n開始找到最上層的父親結(jié)點(diǎn),這種經(jīng)常用到的過程可以由存儲(chǔ)過程來擔(dān)當(dāng),在網(wǎng)頁中重復(fù)使用達(dá)到共享。
空:表示該結(jié)點(diǎn)為頂層結(jié)點(diǎn)
fjdid(父結(jié)點(diǎn)編號(hào))
結(jié)點(diǎn)n 非空:表示該結(jié)點(diǎn)的父親結(jié)點(diǎn)號(hào)
dwmc(單位名稱)
create proc search_dwmc @dwidold int,@dwmcresult varchar(100) output
as
declare @stop int
declare @result varchar(80)
declare @dwmc varchar(80)
declare @dwid int
set nocount on
set @stop=1
set @dwmc=""
select @dwmc=dwmc,@dwid=convert(int,fjdid) from jtdw where id=@dwidold
set @result=rtrim(@dwmc)
if @dwid=0
set @stop=0
while (@stop=1) and (@dwid<>0)
begin
set @dwidold=@dwid
select @dwmc=dwmc,@dwid=convert(int,fjdid) from jtdw where id=@dwidold
if @@rowcount=0
set @dwmc=""
else
set @result=@dwmc+@result
if (@dwid=0) or (@@rowcount=0)
set @stop=0
else
continue
end
set @dwmcresult=rtrim(@result)
使用exec pro-name? [pram1 pram2.....]
?
本文來自學(xué)習(xí)網(wǎng)(www.gzu521.com),原文地址:http://www.gzu521.com/campus/article/program/200803/165794.htm
轉(zhuǎn)載于:https://www.cnblogs.com/Fly-sky/archive/2008/11/06/1327831.html
總結(jié)
- 上一篇: AQtime实战
- 下一篇: 昨天添加的clustrMaps,忘了截屏