퇴근5분전


이것도 키 등록 후 테이블 내용을 볼때 컬럼명이 아닌 이름으로 볼수있다...

단점, WHERE 문... ㅡ.,ㅡ;;


/*     
   
 윤지송    
    
 테이블의 데이타를 1000개를 쿼리 하되      
      
 컬럼명을 HEADER 가 등록된 테이블은 해당 테이블의 헤더를 컬럼명으로 사용함.      
     
*/     
CREATE PROC dbo.sp_table_select     
 @TABLE_NM NVARCHAR(776)  = ''    
as     
     
IF( RTRIM(@TABLE_NM) = '' OR @TABLE_NM IS NULL )     
BEGIN     
 PRINT(' ^ ______ ^')   
 RETURN;   
END     
     
      
DECLARE @QUERY NVARCHAR(MAX)     
SET @QUERY = ''     
      
 ;WITH TABLE_COLS ( COLUMN_ID, NAME  )     
 AS     
 (     
 SELECT COLUMN_ID, NAME     
 FROM SYS.COLUMNS     
 WHERE OBJECT_ID = OBJECT_ID( @TABLE_NM )     
 ),     
 COLS_ATTS ( NAME , HEADER )     
 AS     
 (     
 SELECT objname AS NAME , value AS HEADER         
 FROM fn_listextendedproperty (NULL, 'schema', 'dbo', 'table', @TABLE_NM, 'column', default)     
 )      
 SELECT-- C.COLUMN_ID,C.NAME, ISNULL(A.HEADER, '') HEADER,     
  @QUERY = @QUERY + C.NAME +  ISNULL( ' AS [' + CONVERT(VARCHAR(100),  A.HEADER ) + ']' ,' AS '+ C.NAME ) + ', '      
 FROM TABLE_COLS C LEFT OUTER JOIN COLS_ATTS A     
 ON C.NAME = A.NAME  COLLATE  Korean_Wansung_CI_AS     
      
--SELECT @QUERY      
EXEC( 'SELECT TOP 100 '+ @QUERY + ' '''' AS [END__]' + 'FROM '+ @TABLE_NM )