您的位置:首页 > 其它

存储过程例题(1)

2008-11-06 09:54 99 查看
例:该存储过程是从某结点n开始找到最上层的父亲结点,这种经常用到的过程可以由存储过程来担当,在网页中重复使用达到共享。

空:表示该结点为顶层结点

fjdid(父结点编号) 

结点n 非空:表示该结点的父亲结点号

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.....]

本文来自学习网(www.gzu521.com),原文地址:http://www.gzu521.com/campus/article/program/200803/165794.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: