这是我的一道面试题 ,大家帮忙?主键 名称
ID Name ParentId 中国
|-河北
|-石家庄
|-湖北
这样效果,可以折叠,点击前面图标,还有就是下拉列表显示。1 利用递归实现?
2 利用存储过程实现?
3 利用添加字段实现?
ID Name ParentId 中国
|-河北
|-石家庄
|-湖北
这样效果,可以折叠,点击前面图标,还有就是下拉列表显示。1 利用递归实现?
2 利用存储过程实现?
3 利用添加字段实现?
3真是奇怪的选择\( ̄一 ̄) o
要不然要这个干什么啊
ID NAME PARENTID
---------- ------------------------ ----------
01 中国
0101 河北 01
010101 石家庄 0101
0102 湖北 01create or replace procedure proc_tree (in_id in varchar2)
Is
CURSOR cur IS select a.*,level from test_tree a start with id= in_id connect by prior id = parentid;
Begin
FOR cur_result in cur LOOP
BEGIN
dbms_output.put_line(cur_result.id ||' '||cur_result.name ||' '||cur_result.parentid ||' '||cur_result.level);
End;
END LOOP;
EXCEPTION
WHEN OTHERS THEN
NULL;
End proc_tree;
改方法中的使用:select * form city(表名称)where parentId = id ;
将得到的list集合再次设置到request属性范围中,
最后再该页面中从request属性中取得该list,再通过<select ....></select>在相应的位置迭代出来就ok了。
当然,我只是告诉给你一个思路,主体实现还是要靠你自己来完成。好运。