database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 1908 게시물 읽기
No. 1908
TABLE COLUMN 정보 보기
작성자
김연성(tiger7403)
작성일
2005-04-22 15:35ⓒ
2005-04-22 15:37ⓜ
조회수
4,466

1. 질문 그대로 TABLE 의 COLUMN 정보를 보려면 어떻게 쿼리를 써야 할까요 ?

> FIELDNAME TYPE KEY COMMENTS 정보를 보려 합니다.

2. 서버에 접속했을때 전체 DATABASE 리스트를 얻으려면 어떻게 쿼리를 써야 할까요 ?

> DATABASENAME 만 알수있으면 좋겠는데요...

이 글에 대한 댓글이 총 5건 있습니다.

1. sp_helpcolumns 테이블명

2. sp_helpdb

 

그럼..

길가는 나그네..님이 2005-04-22 15:55에 작성한 댓글입니다.
이 댓글은 2005-04-22 15:56에 마지막으로 수정되었습니다. Edit

sp 아닌 쿼리문으로 알수 있는 것은 이렇게 하면 됩니다.

칼럼에 대한 것을 보려면..

select a.* from syscolumns a
 join sysobjects b
 on a.id = b.id
where b.name = '<table_name>'

그리고 sp_helpcolumns <table_name> 이 아닌 sp_columns <table_name>으로 하셔야 될 듯 ^^

 

그리고 DB의 리스트를 알고자 한다면

select * from master..sysDatabases

 

이렇게 하셔도 됩니다.

여리님이 2005-04-22 16:47에 작성한 댓글입니다.
이 댓글은 2005-04-22 16:50에 마지막으로 수정되었습니다. Edit

sp_helpcolumns라는 정체불명의 sp를.. ^^;;

 

죄송해여~  ^^*

 

(여리님, 감사~)

길가는 나그네..님이 2005-04-22 18:10에 작성한 댓글입니다. Edit

어째 글을 쓰신 분 보다 나그네님과 둘이 대화를 하는듯한 느낌이

팍 드는 걸요 ^^

 

 

여리님이 2005-04-25 09:53에 작성한 댓글입니다. Edit

다 아시는 얘기겠지만..

ms에서는 시스템테이블을 직접 엑세스하는 걸 권장하지 않습니다.

sp_help, sp_columns등의 프로시저로 확인하시거나..

또는 쿼리로 조회하시고 싶다면..

ansi 표준인 INFORMATION_SCHEMA 뷰를 이용해서 조회해야 합니다.

 

시스템 테이블이나 프로시저의 내부 내용은 버전이 향상됨에 따라..

변할 수 있기때문이죠.. 그래서 내부구조를 은닉할 수 있는

프로시저나 뷰를 이용하라는 거죠...

 

아시는 얘기들이실테지만.. 다시 한번 강조하고 싶네요..

 

참고로 아래는 테이블 생성 스크립트와 유사하게 만든..

INFORMATION_SCHEMA 뷰를 이용한 쿼리입니다.

 

SELECT ORDINAL_POSITION                    SEQNO
      ,COLUMN_NAME                         COLUMN_NAME
      ,DATA_TYPE +                        
       ISNULL('(' +
       CASE WHEN DATA_TYPE = 'decimal'
               THEN RTRIM(CAST(NUMERIC_PRECISION as char)) + ',' + RTRIM(CAST(NUMERIC_SCALE as char))
               ELSE RTRIM(CAST(CHARACTER_MAXIMUM_LENGTH as char))
       END +
       ')', '')   DATA_TYPE
      ,CASE WHEN IS_NULLABLE = 'No' THEN 'NOT NULL'
            ELSE 'NULL' END                NULLABLE
      ,ISNULL('DEFAULT ' + REPLACE(REPLACE(COLUMN_DEFAULT, '(', ''), ')', ''),'')       COLUMN_DEFAULT
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_CATALOG = db_name()
AND TABLE_SCHEMA    = user_name()
AND TABLE_NAME      = @in_table_name
ORDER BY ORDINAL_POSITION

m님이 2005-04-26 10:01에 작성한 댓글입니다.
이 댓글은 2005-04-26 10:04에 마지막으로 수정되었습니다. Edit
[Top]
No.
제목
작성자
작성일
조회
1912DB 이전 관련 문제.
김우섭
2005-04-25
2490
1911identity 칼럼의 값을 변경할 수 있나요? [1]
왕초
2005-04-24
2719
1910세로로된 데이터를 가로로 출력하려면 어떻게 하죠? [2]
초짜
2005-04-23
6841
1908TABLE COLUMN 정보 보기 [5]
김연성
2005-04-22
4466
1907테이블에는 저장이 되있는데 뷰에서는 없습니다.
저격수장금
2005-04-22
1592
1906ER Win 으로 제 로컬에 MS SQL Server 연결하려는데... [1]
고영훈
2005-04-22
1739
1905ㄱ 검색하기 [1]
teriness
2005-04-22
1580
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다