.NET 관련 프로젝트 하는 중 부서 를 표현할 일이 생겼다.
음악 >> 가요>> 발라드
머 이런 구조로 표현해야 하는데.. 적응 안되는 ms-sql 이다..
구조는 PK 값이 있고.. Parent 값으로 부모값을 찾아가는 평범한 형태이다.
함수로 구현할까.. 하다가.. 삽질 한번 하고 프로시져로 대충 결과만 나오게 함 ㅡㅡ;
오라클에 start with ... connect by 처럼 하고 싶었으나... 구차니즘과...
스킬의 부족함으로 인해 ㅠㅠ 이렇게 밖에 못함..
Create proc DeptSortList(@idx int)
AS
Declare @parent as int
set @parent = 1
if(@idx < 1) Begin
select top 1 @idx = idx from dept order by idx asc
END
select * into #temp_dept from dept where idx = @idx order by idx asc
WHILE (@parent > 0)
BEGIN
select top 1 @parent = parent from #temp_dept order by idx asc
insert into #temp_dept select a.* from dept a join #temp_dept b on a.idx = b.parent where a.idx = @parent
END
SELECT * FROM #temp_dept order by idx asc
GO
콜 해보면 그냥 보통 테이블 구조로 특정 부서의 상위 코드가 출력된다.
적당히 가공해서
a >> a_a >> a_a_a >> a_a_a_a
처럼 출력하고 대충대충 링크 걸고.. 대충대충 iframe 으로 보내서 대충대충 입력하면 된다 ㅡㅡ;
'SQL' 카테고리의 다른 글
[mssql] 날짜 형식 convert (0) | 2005.08.26 |
---|---|
MySQL 간단백업 (0) | 2005.08.24 |
[펌] START WITH and CONNECT BY in Oracle SQL (0) | 2005.08.01 |
[mssql] rowcount .... (0) | 2005.06.21 |
[ms-sql] 실행 계획 보기... 아주 쌩초보다.. (0) | 2005.06.20 |