求解决方案(SQLSERVER)中存储过程
现在有一张部门表(SYS_DEPT)结构如下:
DEPT_ID(部门ID) DEPT_NAME(部门名称) DEPT_PARENT_ID(部门父节点名称)
要实现的内容为:
根据上面这张部门表中的任意一个DEPT_ID(部门ID)查询出该部门以及该部门下所有的部门信息。
如:
1 部门名称1 0
2 部门名称2 1
3 部门名称3 1
4 部门名称4 3
现在要根据“部门名称1”的ID查询出下面所有的部门信息。即:查询结果为上面所有部门信息。
在ORACLE中直接用 SELECT * from DEPT START WITH DEPT_ID=1 CONNECT BY PRIOR DEPT_ID=DEPT_PARENT_ID就可以做到了。
但在SQLSERVER中小弟不知道如何实现。
请各位大虾给点意见。好像是要写个存储过程。希望各位大虾给点支持!感谢!
希望各位大虾多多帮忙啊!
SQL code:
--生成测试数据
create table BOM(ID INT,PID INT,MSG VARCHAR(1000))
insert into BOM select 1,0,NULL
insert into BOM select 2,1,NULL
insert into BOM select 3,1,NULL
insert into BOM select 4,2,NULL
insert into BOM select 5,3,NULL
insert into BOM select 6,5,NULL
insert into BOM select 7,6,NULL
go
--创建用户定义函数
create function f_getChild(@ID VARCHAR(10))
returns @t table(ID VARCHAR(10),PID VARCHAR(10),Level INT)
as
begin
declare @i int,@ret varchar(8000)
set @i = 1
insert into @t select ID,PID,@i from BO
相关问答:
sqlserver,如果加个用户,权限是读所有表,但只能修改某个表的字段属性
没这个说法.
只给SELECT ,
UPDATE的只给某些表
个不会
但只能修改某个表的字段属性 这个难搞
要加权限得针对某个数据库
......
在jsp页面中,我想显示数据库表中某些字段的值,在方法中,我应该用什么样的集合类型做为返回值比较好,还有,在页面上如何循环输出我查询的内容..急用!!!!!拜托
用List不行吗?
用list
页面用 <c:forEach& ......
使用windows xp 操作系统
数据库已安装sp3
但是还是连不上数据库
提示信息如下:
HTTP Status 500 -
--------------------------------------------------------------------------------
......