易截截图软件、单文件、免安装、纯绿色、仅160KB

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


相关问答:

ACCESS繁体连接简体sqlserver2000

  我的数据库是简体sqlserver2000 ,我想在繁体access下连接,通过odbc是可以了,但在access下出现打开的表全中"#已删除"
不知道要怎么操作才可以用ACCESS繁体连接简体sqlserver2000.谢谢!!!
大家都 ......

sqlserver对某个表操作加个用户

sqlserver,如果加个用户,权限是读所有表,但只能修改某个表的字段属性
没这个说法.

只给SELECT ,

UPDATE的只给某些表

个不会

但只能修改某个表的字段属性 这个难搞

要加权限得针对某个数据库
......

怎么获取sqlserver最后插入行内的字段?

主键是uniqueidentifier类型,没有自增字段。。

这样应该怎么获取?


L@_@K
SQL code:
SELECT ISNULL(SCOPE_IDENTITY(), -1) AS [SCOPE_IDENTITY]

按时间排序

guid不要自动生成
......

·db2,oracle与sqlserver bcp抽取数据

sqlserver 用bcp抽取数据。db2和oracle分别用什么命令实现与sqlserver同样的功能。
my @proglist =("bcp","$database.bill.$group[$i]","out","$dir\\$currentTime\\$group[$ ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号