MS- SQL 테입블 목록 조회, 테이블별 컬럼 조회하기
오라클만 사용하다가 아주 5년만에 MS-SQL 사용 하려니 힘드네
오라클이랑 많이 달라서..
#region SelectTableList - 테이블 리스트 조회
/// <summary>
///
/// </summary>
/// <param name="vo"></param>
/// <returns></returns>
public ReplySet SelectTableList(string paramTable)
{
StringBuilder sb = new StringBuilder();
string s_Query = string.Empty;
ReplySet rs = new ReplySet();
try
{
DBConnect();
sb.AppendLine(" Select o.name AS TABLE_NAME,");
sb.AppendLine(" nullif(cast(p.value as varchar(4000)),'-') as COMMENTS");
sb.AppendLine(" FROM sys.objects o ");
sb.AppendLine(" left outer join sys.schemas s on s.schema_id = o.schema_id ");
sb.AppendLine(" left outer join sys.extended_properties p on p.major_id = o.object_id and minor_id = 0 and p.name = 'MS_Description' ");
sb.AppendLine(" where type in ('U', 'V') ");
sb.AppendLine(" AND o.[name] LIKE 'TB_RC%'");
sb.AppendLine(" order by type, s.name, o.name");
rs.DataTable = dbCtrl.ExecuteDataTable(sb.ToString(), "all_col_comments");
}
catch (Exception ex)
{
throw ex;
}
finally
{
dbCtrl.ReaderClose();
dbCtrl.DbClose();
}
return rs;
}
#endregion
#region SelectColumnList - 컬럼 조회
/// <summary>
///
/// </summary>
/// <param name="vo"></param>
/// <returns></returns>
public ReplySet SelectColumnList(string paramTable)
{
StringBuilder sb = new StringBuilder();
string s_Query = string.Empty;
ReplySet rs = new ReplySet();
try
{
DBConnect();
sb.AppendLine(" SELECT ");
sb.AppendLine(" A.COLUMN_NAME,");
sb.AppendLine(" B.[value] AS COL_COMMENTS, ");
sb.AppendLine(" DATA_TYPE + '(' + CAST(A.CHARACTER_MAXIMUM_LENGTH AS VARCHAR(10)) + ')' AS COL_TYPE ");
sb.AppendLine(" FROM INFORMATION_SCHEMA.COLUMNS A");
sb.AppendLine(" LEFT OUTER JOIN SYS.EXTENDED_PROPERTIES B");
sb.AppendLine(" ON B.major_id = object_id(A.TABLE_NAME) ");
sb.AppendLine(" AND A.ORDINAL_POSITION = B.minor_id");
sb.AppendLine(" WHERE TABLE_SCHEMA = 'dmsoft'");
sb.AppendLine(" AND A.TABLE_NAME LIKE 'TB_RC%'");
if (paramTable != null && paramTable.Length > 0)
{
sb.AppendLine(" AND A.TABLE_NAME = '" + paramTable + "'");
}
sb.AppendLine(" ORDER BY A.TABLE_NAME, A.ORDINAL_POSITION");
rs.DataTable = dbCtrl.ExecuteDataTable(sb.ToString(), "all_col_comments");
}
catch (Exception ex)
{
throw ex;
}
finally
{
dbCtrl.ReaderClose();
dbCtrl.DbClose();
}
return rs;
}
#endregion
'SQL > MYSQL' 카테고리의 다른 글
MS-SQL BULK INSERT시 데이터 형식 (0) | 2014.06.11 |
---|---|
[MS-SQL 2008 PROCEDURE] 컬럼명을 조회하여 쿼리문을 만들고 실행하기 (0) | 2014.06.11 |
[MS-SQL 2008 PROCEDURE] 임시 테이블에 값을 저장하여 UPDATE후 임시 테이블 내용을 조회하여 RETURN (0) | 2014.06.11 |
[MS-SQL CURSOR를 사용한 쿼리문의 생성 실행 (0) | 2014.06.11 |
[MS-SQL] 테이블별 ROW COUNT를 SYSTEM 테이블에서 가져오기 (0) | 2014.06.11 |
MS-SQL 페이징 쿼리문 (0) | 2014.06.11 |
[Ms-sql]오라클에 있는 dual 테이블과 비슷한 기능을 하는것 (0) | 2014.02.13 |
[본문스크랩] MySQL Server 4.1에서 한글 데이터 입력... (0) | 2014.02.13 |