달력

42024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

.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
Posted by tornado
|