sqlserver 自定义函数return 问题
SQL code:
create function subDepartment(@id varchar(36),@flag int)
returns @re table(subid varchar(36))
as
begin
insert @re select deli_id from departmentlink where deli_type=32
and deli_id =@id
if @flag=0
return
while @@rowcount>0
begin
insert @re
select a.deli_id from departmentlink a ,@re b
where a.deli_type=32 and a.deli_depa_id =b.subid
and a.deli_id not in (select subid from @re)
end
return
end
函数的作用是创建找出一个单位的所有下级单位或者就找出本单位。
第一个参数表示,上级ID,根据他找出他下面的所有下级ID,
第二个参数表示,是一个标记,如果是0就表示只返回本身,如果是非0 就执行找下级的代码。。
但是不管我是
select * from subDepartment('56B4217998F243BA8EF2ABC456C8D3A1',0)
select * from subDepartment('56B4217998F243BA8EF2ABC456C8D3A1',999)
返回的结果都是一条数据。。也就表示不管flag变量是,0 还是999都@flag=0都是真。。。。高手帮忙啊
你的WHERE的终止条件呢?每次循环都没变化吧
我以前写的一个小例子,发上来供你参考
SQL code:
if not object_id('tb') is null drop table tb
IF OBJECT_ID('FUN_MU
相关问答:
请问一下,外网两台SQLSERVER实例数据传输,有没有采用数据压缩和加密。压缩比是多少,加密是什么加密算法?相关文档哪里可以找到?谢谢
我也想知道!关注此贴!
关注~~
数据库大牛都哪去了啊?
......
大家有没有 存储过程分页的例子,共享一下,谢谢!!!
http://wyf.javaeye.com/blog/462396
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
/*--实现分页的通用存储过程
......
需要使用SQL Server2000或2005
需要设计数据有效验证,防止录入不合法数据
需要设计存储过程或自定义函数完成数据的录入\修改\删除\统计\查询
数据库大部分表我已经建立,只是辅助性的小表建立的还不全
......
请用过的朋友告知下,谢谢!
美的你,那玩意只能装装ULTRAEDIT
你试过?确实不行?
哥们 你用586跑跑 WIN vista 试试
没那么严重,无非是速度慢点而已,对于vs2008来说,内存还是个更重要的因素。
......
conn.execute "delete from PSTC_About where id in ("&SelectID&")"
其中SelectID是传递过来的记录ID,实际形成的语句如 conn.execute "delete from PSTC_About where id in ( ......