MSSQL에서 DB목록, Table목록, 그리고 각 Table의 상세 칼럼 정보를

얻기 위해서는 아래 제시된 쿼리문을 이용해 가능하다.

select * from sys.sysdatabases
select * from sys.tables
select * from sys.syscolumns
select * from sys.systypes

 

위 쿼리를 바탕으로 필요한 테이블 상세 정보만 얻어오는 쿼리 조합문.

select

a.name as table_name,
b.name as column_name,
c.name as data_type,
c.length as data_length
from sys.tables a
inner join sys.syscolumns on a.object_id=b.id
inner join sys.systypes on c.xtype=b.xtype
where a.name = 'tb_users' --테이블이름
order by table_name

  



이 쿼리문은 위에 제시된 거와 달리 단지 . 뒤에 sys가 빠졌다는 것 뿐인데 뭐가 다른지 모르겠다.

지금 알 필요는 없지만 무시하기는 아까워 첨부~*

select * from sys.databases
select * from sys.columns
select * from sys.types

 

아래 쿼리는 쓰고 있던 방법...

 

Database 목록을 얻어오는 방법

select * from sys.sysdatabases where HAS_DBACCESS(name= 1

 

Table 목록을 얻어오는 방법

select * from sys.sysobjects where xtype='U' order by name asc




DBCC SHOW_STATISTICS ('UBCare_BasicInfo', KIMSCode);

GO


Posted by 요지
,